• 技术文章 >头条

    教你用python获取百度热榜链接

    FXLFXL2020-08-24 16:57:38转载2142

    目标网址:

    (推荐教程:Python入门教程

    https://www.baidu.com/

    要获取的内容:

    86e9a05d577dce21c9942ae01e42f57.png

    链接分析:

    从下图可以看出只需要获取关键字,再构建就可以了。

    3fbc8821b4472585b2a4054f8a22b19.png

    完整代码:

    import requests
    import pprint
    import re
    import urllib.parse
    
    url = 'https://www.baidu.com/'
    
    headers = {
        'Host': 'www.baidu.com',
        'Referer': 'https://www.baidu.com/',
        'User-Agent': 你的User-Agent,
        'Cookie': 你的Cookie
    }
    
    response = requests.get(url, headers=headers).content.decode('utf-8')
    # 获取关键字
    pat = '"pure_title": "(.*?)"'
    keyword = re.findall(pat, response, re.S)
    print(len(keyword))
    
    for hot_word in keyword:
        # 汉字不符合url标准,所以这里需要进行url编码
        i = urllib.parse.quote(hot_word, encoding='utf-8', errors='replace')
        # url构建
        link = f'https://www.baidu.com/s?cl=3&tn=baidutop10&fr=top1000&wd={i}&rsv_idx=2&rsv_dl=fyb_n_homepage&hisfilter=1'
        print(link)

    你会发现结果很长:

    5a4ab5594dcdd44ecffd034fa2af3af.png

    但其实关键字后面的几个参数是可以去掉的,这样url就没有那么长了。

    e7b4deebe2f8dde511791804ddbc3be.png

    专题推荐:python 百度热榜
    上一篇:教你用python实现梯度下降算法 下一篇:你理解python的垃圾回收机制么

    相关文章推荐

    • 怎样下载python编译器• 怎样查看python安装了哪些库• python中怎样将字典排序• python怎样进行反编译

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网