bs4爬取新发地果蔬价格数据,保存为CSV格式

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

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查看

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值