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

851次阅读
没有评论

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

目标网址:

(推荐教程:Python入门教程)

https://www.baidu.com/

要获取的内容:

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

链接分析:

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

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

完整代码:

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)

你会发现结果很长:

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

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

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

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:程序人生2022-12-08发表,共计901字。
新手QQ群:570568346,欢迎进群讨论 Python51学习