【Python爬虫项目】新发地蔬菜水果等食品价格爬取(详细附源码)
【Python爬虫项目】新发地蔬菜水果等食品价格爬取(详细附源码)
新发地获取蔬菜水果等食品价格
爬取信息具体如下: 1.食品名称 2.最低价 .最高价 4.平均价 5.规格 6.产地 7.单位 8.发布日期
1.检查网页源码
通过检查源码可以看出数据并不在网页源码当中,需通过动态加载获取信息,打开开发者工具进行抓包
2.抓包
刷新页面&
【Python爬虫项目】新发地蔬菜水果等食品价格爬取(详细附源码)
新发地获取蔬菜水果等食品价格
爬取信息具体如下:
1.食品名称 2.最低价 .最高价 4.平均价 5.规格 6.产地 7.单位 8.发布日期
1.检查网页源码
通过检查源码可以看出数据并不在网页源码当中,需通过动态加载获取信息,打开开发者工具进行抓包
2.抓包
刷新页面,抓取商品信息,发现一页共20条商品信息。
.分析
查看请求头信息,比对其他页请求地址发现请求地址统一为:
url = .html
请求头没有特殊内容,直接复制即可
data信息包含关键参数,选取蔬菜点击刷新重新进行抓取发现有三个参数分别是:limit,current,prodPcatid。
第1页data信息
第2页data信息
我们可以看出前前两个参数的用处分别是
- limit :商品数量
- current :页数
我们选择水果类再重新抓取进行分析,发现prodPcatid改变,我们知道该参数的作用是不同类的id
4.编写代码
import json
import requests
import threading
import pandas as pd
#新发地:.html
#页数
page = 1
#商品总列表
count=list()
#json列表
js=list()#解析网页函数
def url_parse(page):#请求地址url = .html headers = {Accept: */*,Accept-Encoding: gzip, deflate,Accept-Language: zh-C,zh;q=0.9,Cache-Control: no-cache,Connection: keep-alive,Content-Length: 89,Content-Type: application/x-www-form-urlencoded; charset=UTF-8,Host: www.xinfadi,Origin: ,Pragma: no-cache,Referer: .html,User-Agent: Mozilla/5.0 (Windows T 10.0; Win64; x64) AppleWebKit/57.6 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/57.6,X-Requested-With: XMLHttpRequest,}data = {limit: 20,current: page,pubDateStartTime: ,pubDateEndTime: ,prodPcatid: 1186, #商品类idprodCatid: ,prodame: ,}respe=requests.post(url=url,headers=headers,data=data).text#获取商品信息respe=json.loads(respe)[ list ]#生成线程锁对象lock=threading.RLock()#上锁lock.acquire()#添加到json列表中js.append(respe)#解锁lock.release()#解析json函数
def json_parse(product):lock=threading.RLock()lock.acquire()dic = { 品名 : product[ prodame ], 最低价: product[ lowPrice ], 最高价 : product[ highPrice ], 平均价 : product[ avgPrice ], 规格 : product[ specInfo ], 产地 : product[ place ], 单位 : product[ unitInfo ], 发布日期 : product[ pubDate ]}print(dic)#将商品信息添加到商品总列表中count.append(dic)lock.release()
def run():num=int(input( 请输入爬取页数: ))#多进程解析网页for i in range(1,num1):x=threading.Thread(target=url_parse,args=(i,))x.start()x.join()# 多进程解析jsonfor i in js:for product in i:y=threading.Thread(target=json_parse,args=(product,))y.start()y.join()#生成exceldata = pd.DataFrame(count)_excel( 蔬菜.xlsx , index=one)
if __name__ == __main__ :run()
5.运行结果
不到秒钟就爬完了20页内容
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2024-01-14 06:48:44
上一篇:网络直播现在发展的怎么样?
下一篇:谁爱这不息的变幻
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 深圳万科金域缇香 | 19分钟前 发表 |
like Gecko) Chrome/92.0.4515.107 Safari/57.6 | |
本站网友 吴姓 | 25分钟前 发表 |
page | |
本站网友 免费代理服务器ip | 20分钟前 发表 |
product[ lowPrice ] | |
本站网友 北京个人所得税起征点 | 11分钟前 发表 |
}respe=requests.post(url=url | |
本站网友 怎样改变鹰钩鼻子 | 8分钟前 发表 |
product[ pubDate ]}print(dic)#将商品信息添加到商品总列表中count.append(dic)lock.release() def run() | |
本站网友 二手房降价 | 15分钟前 发表 |
prodPcatid | |
本站网友 笔记本电池修复工具 | 30分钟前 发表 |
prodame | |
本站网友 深圳天虹商场打折 | 26分钟前 发表 |
第1页data信息 第2页data信息 我们可以看出前前两个参数的用处分别是 limit | |
本站网友 证券基础知识电子书 | 26分钟前 发表 |
发布日期 | |
本站网友 uume | 4分钟前 发表 |
product[ specInfo ] | |
本站网友 玄关装修效果图 | 4分钟前 发表 |
product[ avgPrice ] | |
本站网友 南京电信营业厅 | 0秒前 发表 |
1186 | |
本站网友 精神赔偿标准 | 23分钟前 发表 |
Accept-Language | |
本站网友 碾转 | 28分钟前 发表 |
))y.start()y.join()#生成exceldata = pd.DataFrame(count)_excel( 蔬菜.xlsx | |
本站网友 石家庄美食 | 21分钟前 发表 |
current | |
本站网友 咸阳酒店 | 1分钟前 发表 |
规格 | |
本站网友 人和租房 | 30分钟前 发表 |
Cache-Control | |
本站网友 天津华北医院 | 21分钟前 发表 |
deflate |