python获取百度热榜链接的实例方法

 更新时间:2020年08月25日 07:52:14   作者: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

内容扩展:

python 爬取简单的百度搜索结果

爬取百度搜索结果

主要还要借助xpath helper谷歌浏览器的插件来操作更容易找到需要查找信息的xpath位置

还要首先了解一下百度搜索请求的参数 lm默认为0,天数限制,但是好像只有1有用。

默认每页10条信息,rn

pn是页码

from lxml import etree
import re
import requests
import string
import json
headers = {
  "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
}
response = requests.get('https://www.baidu.com/s?wd=腾讯视频优惠&lm=1',headers=headers)
r = response.text
html = etree.HTML(r,etree.HTMLParser())
r1 = html.xpath('//h3')
r2 = html.xpath('//*[@class="c-abstract"]')
r3 = html.xpath('//a[@class="c-showurl"]')
for i in range(10) :
  r11 = r1[i].xpath('string(.)')
  r22 = r2[i].xpath('string(.)')
  r33 = r3[i].xpath('string(.)')
  # with open('test.txt', 'a', encoding='utf-8') as f:
  #   f.write(json.dumps(r11,ensure_ascii=False) + '\n')
  #   f.write(json.dumps(r22, ensure_ascii=False) + '\n')
  #   f.write(json.dumps(r33, ensure_ascii=False) + '\n')
  print(r11,end='\n')
  print(r22,end='\n')
  print(r33)
  print()

到此这篇关于python获取百度热榜链接的实例方法的文章就介绍到这了,更多相关教你用python获取百度热榜链接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python采集腾讯新闻实例

    Python采集腾讯新闻实例

    这篇文章主要介绍了Python采集腾讯新闻实例,一个简单的例子,着重于实现步骤的讲解,需要的朋友可以参考下
    2014-07-07
  • 解决Python复杂zip文件的解压问题

    解决Python复杂zip文件的解压问题

    这篇文章主要介绍了Python复杂zip文件的解压,通过配合 shutil 与 os 标准库中的相关功能,实现将指定任意 zip 压缩包,完好地解压到指定的目录中,需要的朋友可以参考下
    2021-12-12
  • Python 降级的两种实现方法

    Python 降级的两种实现方法

    本文主要介绍了Python 降级的两种实现方法,帮助用户在降级Python时不完全卸载,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Python中有哪些关键字及关键字的用法

    Python中有哪些关键字及关键字的用法

    这篇文章主要介绍了Python中有哪些关键字及关键字的用法,分享python中常用的关键字,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • python 已知平行四边形三个点,求第四个点的案例

    python 已知平行四边形三个点,求第四个点的案例

    这篇文章主要介绍了python 已知平行四边形三个点,求第四个点的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 详解Python prometheus_client使用方式

    详解Python prometheus_client使用方式

    本文主要介绍了Python prometheus_client使用方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • python中使用序列的方法

    python中使用序列的方法

    这篇文章主要介绍了python中使用序列的方法,较为详细的分析了Python序列的原理与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Python中glob库实现文件名的匹配

    Python中glob库实现文件名的匹配

    本文主要主要介绍了Python中glob库实现文件名的匹配,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • python/Matplotlib绘制复变函数图像教程

    python/Matplotlib绘制复变函数图像教程

    今天小编就为大家分享一篇python/Matplotlib绘制复变函数图像教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python+opencv处理颜色之将目标颜色转换实例代码

    python+opencv处理颜色之将目标颜色转换实例代码

    OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上,这篇文章主要介绍了python+opencv处理颜色之将目标颜色转换的相关资料,需要的朋友可以参考下
    2025-03-03

最新评论