首页 > 系统相关 >Python爬虫-第四章-1-多线程多进程并发爬取Ⅲ-爬取某菜市场批发价数据

Python爬虫-第四章-1-多线程多进程并发爬取Ⅲ-爬取某菜市场批发价数据

时间:2023-01-15 22:00:55浏览次数:37  
标签:__ Python resp 爬取 headers import currentPage 多线程

# Demo Describe:爬取北京新发菜地数据

import requests
import csv
from concurrent.futures import ThreadPoolExecutor
from fake_useragent import UserAgent

'''
本章内容:
多线程爬取页面数据案例
目标网站:http://www.xinfadi.com.cn/priceDetail.html
'''


# start------------------------------
# Reptile-爬虫
def dataReptile(currentPage):
url = 'http://www.xinfadi.com.cn/getPriceData.html'
data = {
'limit': '20',
'current': currentPage, # 分页
'pubDateStartTime': '',
'pubDateEndTime': '',
'prodPcatid': '',
'prodCatid': '',
'prodName': '',
}
ua = UserAgent()
user_agent = ua.random
headers = {'user-agent': user_agent}
resp = requests.post(url, data=data, headers=headers)
dataLst = resp.json()['list']
with open('../FileForDemo/P4Demo_threadPoolCase.csv', mode='a+', encoding='UTF-8') as file:
csvWriter = csv.writer(file)
for i in dataLst:
dataInfo = '品名:' + i['prodName'] + ', ' \
+ '最低价:' + i['lowPrice'] + ', ' \
+ '平均价:' + i['avgPrice'] + ', ' \
+ '最高价:' + i['highPrice'] + ', ' \
+ '产地:' + i['place'] + ', ' \
+ '单位:' + i['unitInfo'] + ', ' \
+ '发布日期:' + i['pubDate']
csvWriter.writerow([dataInfo])
resp.close()
print(f'第{currentPage}页下载完毕!')


if __name__ == '__main__':
with ThreadPoolExecutor(50) as t:
for i in range(1, 500):
t.submit(dataReptile, i)
print('数据全部下载完毕!!!')

# end------------------------------

标签:__,Python,resp,爬取,headers,import,currentPage,多线程
From: https://blog.51cto.com/mooreyxia/6008909

相关文章

  • #python 利用pandas 合并csv/xlsx文件
     上次我们分享了利用powerquery来合并文件进行数据分析,但是Pq有一部分局限性,在现实工作中,我们往往需要合并多个文件去处理数据,如果面对20个甚至更多的文件,pq中的每一步......
  • (六)Java多线程
    Java多线程1、Java中的多线程1)通过JDK中的java.lang.Thread可以实现多线程。2)Java中多线程运行的程序可能是并发也可能是并行,取决于操作系统对线程的调度和计算机......
  • c#利用异步方法去模拟多线程处理业务
    一个巧妙的设计原理:利用async标识方法执行异步处理List<long>listIds=newList<long>();//业务任务:假设处理这个列表的任务objectlockObj=newobject......
  • npm install error python2
    >[email protected]/Users/nyan/personal/workspace/react16.9/node_modules/watchpack-chokidar2/node_modules/fsevents>nodeinstall.jsERROR:root:codef......
  • 公路堵车概率模型Python(Nagel-Schreckenberg交通流模型)
    路面上有N辆车,以不同速度向前行驶,模拟堵车问题。有以下假设:假设某辆车的当前速度是v如果前方可见范围内没车,下一秒车速提高到v+1如果前方有车,前车的距离为d,......
  • Python 计算HHI指数
    UntitledIn [1]:importpandasaspdInfo=pd.read_excel("BANK_Info.xlsx")Combas=pd.read_excel("Bank_Combas.xlsx")Comins=pd.read_excel("Bank......
  • Python爬取cnnvd
    利用python监控CNNVD上面的新出漏洞实例,可以配合邮箱推送获取最新的漏洞情报爬取cnnvdimportrequestsfrombs4importBeautifulSoupimportreimporttimeimport......
  • Python开发的常用组件
    1.生成6位数字随机验证码importrandomimportstringdefnum_code(length=6):"""生成长度为length的数字随机验证码:paramlength:验证码长度:......
  • python播放音频文件
    将mp3文件转换为wav文件trans_mp3_to_wav.pyfrompydubimportAudioSegment#这里filepath填的是.mp3文件的名字(也可加上路径)deftrans_mp3_to_wav(filepath):s......
  • Python爬取图片
    Python爬取图片目标链接:https://pic.netbian.com/4kfengjing/思路:先通过首页的源码分析提取到子页面的链接,然后通过子页面的链接的源码来提取到图片的下载链接,我们再访问......