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


Posted in Python onAugust 25, 2020

目标网址:

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获取百度热榜链接的实例方法

内容扩展:

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中for循环下的索引变量的作用域
Apr 15 Python
Python while、for、生成器、列表推导等语句的执行效率测试
Jun 03 Python
Python实现LRU算法的2种方法
Jun 24 Python
一百多行python代码实现抢票助手
Sep 25 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
利用nohup来开启python文件的方法
Jan 14 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
python not运算符的实例用法
Jun 30 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 #Python
python实现自动清理重复文件
Aug 24 #Python
anaconda3安装及jupyter环境配置全教程
Aug 24 #Python
Python+pyftpdlib实现局域网文件互传
Aug 24 #Python
实例代码讲解Python 线程池
Aug 24 #Python
详解python UDP 编程
Aug 24 #Python
PyTorch如何搭建一个简单的网络
Aug 24 #Python
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
浅析Python中else语句块的使用技巧
2016/06/16 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
详解python 内存优化
2020/08/17 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
英国电器零售商:PRC Direct
2018/06/21 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
简述数据库的设计过程
2015/06/22 面试题
机关会计岗位职责
2014/04/08 职场文书
教师节演讲稿
2014/05/06 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
好员工观后感
2015/06/17 职场文书
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
Python中Selenium对Cookie的操作方法
2021/07/09 Python
Pandas搭配lambda组合使用详解
2022/01/22 Python