自定义进度条爬虫

以 北京市发展和改革委员会 为例子实现自定义进度条爬虫 效果如下:

# -*- coding: utf-8 -*-
"""
# @Time         : 2021/8/2 9:15
# @Author       : ChenLvLei
# @Email        : 2516455367@qq.com
# @FileName     : test
# @Description  :
"""
import re
import sys

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/91.0.4472.77 Safari/537.36', }


def get_keys():
    return '为了不必要麻烦 key 隐藏。'

def get_data():
    WorkToken, Time_ = get_keys()
    url = 'http://fgw.beijing.gov.cn/so/ss/s'
    payload = {'siteCode': '1100000011',
               'tab': 'all',
               'timestamp': '{}'.format(Time_),
               'wordToken': '{}'.format(WorkToken.group(1)),
               'page': '2',
               'pageSize': '20',
               'qt': '能源消费',
               'timeOption': '0',
               'sort': 'relevance',
               'keyPlace': '0',
               'fileType': ''}
    headers.update({'suid': '{}'.format(WorkToken.group(2))})
    response = requests.request("POST", url, headers=headers, data=payload)
    result_list = response.json(
    )['data']['search']['searchResult']['resultList']
    for i, n in enumerate(result_list):
        x = 100
        y = (i + 1) / len(result_list)
        done = int(x * y)
        sys.stdout.write("\r[%s%s] %d%%" % ('☺' * done, ' ' * (100 - done), x * y) + '\n')
        sys.stdout.write(f'{n}' + '\n')
        sys.stdout.flush()


if __name__ == '__main__':
    get_data()

进度条爬虫
学习交流请私:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值