用python2写一个爬取页面数据,获取的是json格式
时间: 2024-04-26 09:25:32 浏览: 219
以下是一个使用 Python 2 爬取页面数据并获取 JSON 格式的示例代码:
```python
import urllib2
import json
# 请求URL
url = 'http://example.com/api/data'
# 发送请求并获取响应
response = urllib2.urlopen(url)
data = response.read()
# 将响应数据解析成 JSON 格式
json_data = json.loads(data)
# 输出 JSON 数据
print(json_data)
```
在这个例子中,我们使用了 Python 2 内置的 urllib2 模块发送请求并获取响应,然后使用 json 模块将响应数据解析成 JSON 格式,最后输出 JSON 数据。
请注意,在 Python 2 中,需要使用 urllib2 模块发送请求;而在 Python 3 中,则需要使用 urllib 模块(Python 3 中已经将 urllib2 合并到了 urllib 中)。
相关问题
python2 爬取页面json格式数据,比较大,解析成json对象格式
在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()
```
当然,这只是一个简单的示例代码,实际上在实际应用中,你还需要考虑一些异常处理、错误处理、数据清洗等问题。
阅读全文