Python爬取解放号外包需求案例,利用post参数多页爬取

07cc1e5cb0df4c609be64ff5991ac7c9.png

25ea30751f7345fe90298efb7c34e735.png 

 代码展示:

import requests
import csv
f = open('外包数据.csv',mode='a',encoding='utf-8',newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['标题','编号','开始时间','结束时间','价格','状态','类型','投标人数','详情页'])
def down_load(page):
    for page in range(1,page+1):
        url = 'https://www.jfh.com/jfportal/workMarket/getRequestData'

        data = {
            'putTime': '',
            'minPrice': '',
            'maxPrice': '',
            'isRemoteWork': '',
            'orderCondition': '0',
            'orderConfig': '1',
            'pageNo': str(page),
            'searchName': '',
            'fitCode': '0',
            'workStyleCode':'',
            'jfId': '235086452',
            'buId': '',
            'currentBuid': '',
            'jieBaoType': '',
            'login': '1',
            'city': '',
            'orderType': '',
            'serviceTypeKey':'',
            'webSite': '',
            'webSign': '',
            'source': '1'
        }

        headers = {'User-Agent':
                                       'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
                   'Referer':
                       'https://www.jfh.com/jfportal/market/index?m=b01'
                   }
        response = requests.post(url=url,data=data,headers=headers)
        json_data = response.json()
        for index in json_data['resultList']:
            index_url = f'https://www.jfh.com/jfportal/orders/jf{index["orderNo"]}'
            title = index['orderName']
            orderNo = index['orderNo']
            starttime = index['bidValidtime']
            endtime = index['formatOrderTime']
            price = index['price']
            status = index['bidValidTimeOut']
            techDirection = index['techDirection']
            bookCount = index['bookCount']
            csv_writer.writerow([title,orderNo,starttime,endtime,price,status,techDirection,bookCount,index_url])
down_load(100)

结果展示:

504dc0de2518490abf58fbf1565b4a16.png

难点注意:观察不同页之间的差距,发现只有参数中pageno发生了变化。亲测有效,没有反爬,换个headers即可。 

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

努力学习各种软件

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

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

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

打赏作者

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

抵扣说明:

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

余额充值