Python爬虫_线程池实例——北京新发地菜价

import requests
import json
import jsonpath
from concurrent.futures import ThreadPoolExecutor
print("名称\t最高价\t平均价\t最低价")
f = open("北京新发地菜价.txt","w")
def main(current):
    url = "http://www.xinfadi.com.cn/getPriceData.html"
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
    data = {"limit": "20",
                "current": f"{current+1}",
                "pubDateStartTime":"", 
                "pubDateEndTime":"" ,
                "prodPcatid":"",
                "prodCatid":"" ,
                "prodName": ""}
    parsePrint(url,headers,data)
def parsePrint(url,headers,data):
    res = requests.post(url,headers=headers,data=data)
    jsonbj = json.loads(res.text)
    # 解析数据
    name = jsonpath.jsonpath(jsonbj,"$..prodName")
    highPrice = jsonpath.jsonpath(jsonbj,"$..highPrice")
    avgPrice = jsonpath.jsonpath(jsonbj,"$..avgPrice")
    lowPrice = jsonpath.jsonpath(jsonbj,"$..lowPrice")
    # 打印信息
    for g in range(0,20):
        # 输出数据
        print(f"{name[g]}\t{highPrice[g]}\t{avgPrice[g]}\t{lowPrice[g]}\n")
        # 写入数据
        f.write(f"{name[g]}\t{highPrice[g]}\t{avgPrice[g]}\t{lowPrice[g]}\n")
if __name__ == '__main__':
    # 创立线程池
    with ThreadPoolExecutor(2) as t:
        for i in range(2):#爬取页数
            # 给子线程提交任务并执行
            t.submit(main,current = i)
    print("下载完成")
    f.close()

运行结果:
名称	最高价	平均价	最低价
绿豆芽	1.0	0.98	0.95

大白菜	0.9	0.8	0.7
黄豆芽	0.9	0.88	0.85


娃娃菜	1.1	1.0	0.9
番茄	2.3	1.95	1.6


小白菜	1.5	1.35	1.2
番茄	3.0	2.3	1.6


圆白菜	1.2	0.9	0.6
番茄	3.0	2.75	2.5


紫甘蓝	1.5	1.35	1.2
黄瓜	3.0	2.3	1.6


芹菜	1.3	1.05	0.8
黄瓜	4.0	3.5	3.0


西芹	2.2	2.1	2.0
小黄瓜	5.5	4.95	4.4


菠菜	5.5	4.75	4.0
茄子	3.0	2.4	1.8


莴笋	2.0	1.7	1.4
长茄	4.0	3.0	2.0


团生菜	4.0	3.5	3.0
线茄	6.0	4.0	2.0


散叶生菜	5.5	4.75	4.0
广茄	2.5	1.85	1.2


罗马生菜	4.8	4.5	4.2
冬瓜	0.9	0.85	0.8


油菜	3.0	2.75	2.5
冬瓜	0.5	0.43	0.35


香菜	7.0	6.0	5.0
毛冬瓜	1.2	1.0	0.8


茴香	3.5	3.0	2.5
架豆	7.5	7.0	6.5


韭菜	2.5	2.25	2.0
豆王	12.0	8.0	4.0


苦菊	2.7	2.35	2.0
扁豆	7.0	6.0	5.0


油麦菜	4.0	3.5	3.0
豇豆	4.0	3.0	2.0


散菜花	4.3	3.95	3.6
白不老	12.0	11.0	10.0


绿菜花	3.3	3.05	2.8

下载完成

Python爬虫_线程池实例——北京新发地菜价_第1张图片

 

 

你可能感兴趣的:(python,开发语言,爬虫)