技术文章 > 头条 > 正文

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

FXL

目标网址:

(推荐教程: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

免费视频教程
本文转载于:csdn,如有侵犯,请联系a@php.cn删除
相关文章
 怎样下载python编译器
 怎样查看python安装了哪些库
 python中怎样将字典排序
 python怎样进行反编译
相关视频章节
 python注释
 python代码缩进
 python编码规范
 python命名规范
视频教程分类