python2 爬取页面json格式数据,比较大,解析成json对象格式
时间: 2023-07-06 14:31:02 浏览: 179
在Python2中,你可以使用urllib2模块来获取网页的json格式数据,然后使用json模块将其解析为json对象。以下是一个示例代码:
```python
import urllib2
import json
url = 'http://example.com/data.json'
response = urllib2.urlopen(url)
data = response.read()
json_obj = json.loads(data)
# 现在你可以访问json_obj中的数据了
```
在这个例子中,我们使用urllib2模块来打开指定的URL,并读取响应数据。我们然后使用json.loads()函数将响应数据解析为json对象。现在你可以访问json_obj中的数据了。
相关问题
python 爬取页面json格式数据,插入数据库
好的,可以给你一个大致的思路:
1. 首先,你需要用 Python 的 requests 库向目标网站发送请求,获取对应的 JSON 数据。
2. 接着,你需要使用 Python 的 json 库将 JSON 数据转换成 Python 对象,方便后续处理。如果 JSON 数据比较大,你可以使用 ijson 库来逐行读取并解析 JSON 数据,可以节省内存空间。
3. 接下来,你需要连接到你的数据库,并且在其中创建一个表,用来存储你要插入的数据。你可以使用 Python 的 MySQLdb 或者 PyMySQL 等库来连接 MySQL 数据库。
4. 然后,你需要将 Python 对象中的数据逐行插入到数据库中对应的表中。你可以使用 SQL 语句来实现,比如 INSERT INTO 语句。
下面是一个简单的示例代码,可以帮助你理解上述的思路:
```python
import requests
import json
import pymysql
# 发送请求,获取 JSON 数据
url = "https://example.com/api/data"
response = requests.get(url)
data = json.loads(response.text)
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test')
cursor = conn.cursor()
# 创建表
sql_create_table = '''
CREATE TABLE IF NOT EXISTS `data` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) DEFAULT NULL,
`value` FLOAT DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
'''
cursor.execute(sql_create_table)
# 插入数据
for item in data:
name = item['name']
value = item['value']
sql_insert = f"INSERT INTO `data` (`name`, `value`) VALUES ('{name}', {value})"
cursor.execute(sql_insert)
# 提交事务并关闭连接
conn.commit()
cursor.close()
conn.close()
```
当然,这只是一个简单的示例代码,实际上在实际应用中,你还需要考虑一些异常处理、错误处理、数据清洗等问题。
python爬取json格式的数据
要爬取JSON格式的数据,可以使用Python内置的json库。以下是一个简单的例子,演示如何从一个URL获取JSON数据,并将其解析为Python对象:
```python
import json
import urllib.request
# 从URL获取JSON数据
url = "https://example.com/data.json"
response = urllib.request.urlopen(url)
data = response.read().decode()
# 将JSON数据解析为Python对象
parsed_data = json.loads(data)
# 打印结果
print(parsed_data)
```
在上面的代码中,我们首先使用urllib库从URL中获取JSON数据。然后,我们使用json库的loads()函数将JSON数据解析为Python对象。最后,我们将解析后的数据打印出来。
注意,如果你需要使用Python 2.x版本,请使用urllib2库代替urllib库。以下是修改后的代码:
```python
import json
import urllib2
# 从URL获取JSON数据
url = "https://example.com/data.json"
response = urllib2.urlopen(url)
data = response.read()
# 将JSON数据解析为Python对象
parsed_data = json.loads(data)
# 打印结果
print(parsed_data)
```
阅读全文