python爬取百度热榜链接

目标网址:https://www.baidu.com/

所要获取的内容
python爬取百度热榜链接_第1张图片
链接分析:你会发现(自己看下图哈),所以只需要获取关键字,再构建就可以啦
python爬取百度热榜链接_第2张图片
完整代码

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爬取百度热榜链接_第3张图片
但其实关键字后面的几个参数是可以去掉的,这样url就没有那么长了

python爬取百度热榜链接_第4张图片

你可能感兴趣的:(python爬取百度热榜链接)