目标网站 http://www.beijingprice.cn/jfcx/sp/index.shtml?ItemCode=E000002 任务需求 将 序号 批发价格 农贸零售价格 超市零售价格抓取并存储
时间: 2024-06-08 15:10:33 浏览: 8
好的,这个任务可以使用 Python 的 requests 库和 BeautifulSoup 库来完成。
首先,我们需要使用 requests 库向目标网站发送请求,获取网页内容。代码如下:
```python
import requests
url = 'http://www.beijingprice.cn/jfcx/sp/index.shtml?ItemCode=E000002'
response = requests.get(url)
html = response.text
```
接下来,我们使用 BeautifulSoup 库来解析网页内容,找到包含价格信息的表格,并提取出其中的数据。代码如下:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', {'class': 'tb'})
rows = table.findAll('tr')
data = []
for row in rows[1:]:
cols = row.findAll('td')
item = {
'序号': cols[0].text.strip(),
'批发价格': cols[1].text.strip(),
'农贸零售价格': cols[2].text.strip(),
'超市零售价格': cols[3].text.strip()
}
data.append(item)
```
最后,我们可以将抓取到的数据存储到文件中,以便后续使用。代码如下:
```python
import csv
with open('prices.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.DictWriter(f, fieldnames=['序号', '批发价格', '农贸零售价格', '超市零售价格'])
writer.writeheader()
writer.writerows(data)
```
完整代码如下:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = 'http://www.beijingprice.cn/jfcx/sp/index.shtml?ItemCode=E000002'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', {'class': 'tb'})
rows = table.findAll('tr')
data = []
for row in rows[1:]:
cols = row.findAll('td')
item = {
'序号': cols[0].text.strip(),
'批发价格': cols[1].text.strip(),
'农贸零售价格': cols[2].text.strip(),
'超市零售价格': cols[3].text.strip()
}
data.append(item)
with open('prices.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.DictWriter(f, fieldnames=['序号', '批发价格', '农贸零售价格', '超市零售价格'])
writer.writeheader()
writer.writerows(data)
```
运行代码后,会在当前目录下生成一个名为 prices.csv 的文件,其中包含了抓取到的价格信息。