1.路飞实训
python爬取新发地每日菜价
import requests #用来发送请求
from bs4 import BeautifulSoup#用来解析网页
import time#导入时间隔
for i in range(1,100):#爬取第一页到第100页的数据
f = open("新发地果蔬价格.csv",mode='a',encoding="utf-8")#写人文件新发地果蔬文件名,格式是csv.字符编码,a是文字
resp = requests.get(f"http://www.xinfadi.com.cn/marketanalysis/0/list/{i}.shtml")
print(resp)#200: ok, 302:重定向, 404:页面丢失,500:服务器错误
page_one = BeautifulSoup(resp.text, "html.parser")#通过html来,把请求的网页打印出来
#找到表格数据(table)
table = page_one.find("table",attrs={"class":"hq_table"}) #表格特征是class和hq_table
#找到所有表格的所有tr
trs = table.find_all("tr")[1:]#获取表格的内容,通过列表来,第0个元素不要了,[第一行,第二行,到三行......
for tr in trs:#tr是每一行内容,在所有的行中,遍历每一列的内容
tds = tr.find_all("td")#tds是每一列的内容,[第一列,第二列,第三列......]
name = tds[0].text.strip()#从第0项元素开始取值,取文本形式的内容数据,strip去掉左右两边所有的空格
lowest = tds[1].text.strip()#获取到数据,去掉左右空格
avg = tds[2].text.strip()#获取平均价数据,去掉左右空格
highest = tds[3].text.strip()#获取最高价,去掉左右空格
fenlei = tds[4].text.strip()#获取分类,去掉左右的空格
danwei = tds[5].text.strip()#获取单位数据,去掉左右的空格
date = tds[6].text.strip()#获取日期数据,去掉左右空ge
f.write(f"{name},{lowest},{avg},{highest},{fenlei},{danwei},{date}\n")#把每种果蔬的名字.日期,价格写入,且换行
#print(f"{name},{lowest},{avg},{highest},{fenlei},{danwei},{date}")
print(f"一个页面完事了{i}")
time.sleep(1)#防止服务器蹦了,间隔一秒钟
2.保存为新发地果蔬价格csv

3.结果,打开新发地果蔬CSV查看

本文介绍了一个使用Python进行网络爬虫的实际案例,目标是从新发地市场网站抓取每日蔬菜水果的价格信息。文章详细展示了如何使用requests发起请求,利用BeautifulSoup解析网页,并将抓取到的数据保存为CSV格式文件的过程。

被折叠的 条评论
为什么被折叠?



