新发地市场价格爬取

声明:代码仅作学习交流用途,代码分享者与创作者不承担任何由他人恶意运行而导致的责任,勿擅自修改限制频率的参数,勿恶意攻击网页,请学习浏览者遵守社会公德与法律秩序,爬虫导致的网页崩溃等损失由计算机操作者负全部责任,造成严重后果的需要承担刑事责任
爬虫代写:邮箱 leon_leon@yeah.net

import requests
from lxml import etree
from time import sleep
from fake_useragent import UserAgent
import pandas as pd

name_all = []
min_price_all = []
mean_price_all = []
max_price_all = []
guige_all = []
unit_all = []
data_all = []


for i in range(13902):
    print(i)
    UA = UserAgent().edge
    url_base='http://www.xinfadi.com.cn/marketanalysis/0/list/{}.shtml'
    url = 'http://www.xinfadi.com.cn/marketanalysis/0/list/{}.shtml'.format(i+1)
    headers={
        'User-Agent':UA
    }
    response=requests.get(url,headers=headers)
    sleep(3)
 #   print(response.text)
 #   print(response.encoding)
    e = etree.HTML(response.text)
    name = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[1]/text()''')
    min_price = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[2]/text()''')
    mean_price = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[3]/text()''')
    max_price = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[4]/text()''')
    guige = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[5]/text()''')
    unit = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[6]/text()''')
    data = e.xpath('''//table[@class='hq_table']/tr[position()>1]/td[7]/text()''')

    name_all = name_all+name
    min_price_all = min_price_all+min_price
    mean_price_all = mean_price_all+mean_price
    max_price_all=max_price_all+max_price
    guige_all = guige_all+guige
    unit_all = unit_all+unit
    data_all=data_all+data
    if i % 300 == 0:
        all_info = {
                    '名称': name_all,
                    '最低价格': min_price_all,
                    '平均价格': mean_price_all,
                    '最高价格': max_price_all,
                    '规格': guige_all,
                    '单位':unit_all,
                    '日期':data_all
                }
        outdata = pd.DataFrame(all_info)
        outdata.to_csv('C:\\Users\\Admin\\PycharmProjects\\untitled\\新发地市场价格.csv', encoding='GBK')




新发地是中国北京市的蔬菜批发市场,每天都有大量的蔬菜价格行情更新。想要用Python爬取新发地价格行情,可以通过以下几个步骤来实现。 首先,需要导入相关的Python库,包括requests和beautifulsoup库。requests库用于发送HTTP请求获取网页的内容,beautifulsoup库用于解析网页的内容。 接下来,需要分析新发地价格行情所在的网页结构。可以通过打开新发地价格行情网页,查看网页的源代码来分析。一般来说,每个蔬菜的价格信息都会包含在一个HTML标签中,可以通过查找这个标签来筛选出所需的信息。 然后,使用Python编写代码来发送HTTP请求获取价格行情网页的内容。可以使用requests库的get方法来发送GET请求,使用其返回的response对象的text属性来获取网页的内容。 接着,使用beautifulsoup库来解析网页的内容。可以使用beautifulsoup库的BeautifulSoup类来初始化一个解析器对象,使用其find_all方法来查找指定的HTML标签。通过查找所需标签,可以获取到蔬菜的名称和对应的价格信息。 最后,将获取到的价格信息进行整理和格式化,保存文件中或者打印出来。 需要注意的是,爬取网页的过程中需要注意遵守相关的法律法规,尊重网站的使用规则,不要对网站进行过多的频繁请求,以免给网站带来压力。 通过以上步骤,就可以用Python爬取新发地价格行情了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜗笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值