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读写Excel文件方法介绍
Nov 22 Python
python实现2048小游戏
Mar 30 Python
Python中的lstrip()方法使用简介
May 19 Python
python Celery定时任务的示例
Mar 13 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
Oct 16 Python
python 实现selenium断言和验证的方法
Feb 13 Python
python给微信好友定时推送消息的示例
Feb 20 Python
20行python代码实现人脸识别
May 05 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
Django配置文件代码说明
Dec 04 Python
Python3搭建http服务器的实现代码
Feb 11 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP 第三节 变量介绍
2012/04/28 PHP
php 获取本地IP代码
2013/06/23 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
php报错502badgateway解决方法
2019/10/11 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
基于AngularJS实现表单验证功能
2017/07/28 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
Python help()函数用法详解
2014/03/11 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
公司经理聘任书
2014/03/29 职场文书
销售团队口号大全
2014/06/06 职场文书
小学班级特色活动方案
2014/08/31 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
Python函数中apply、map、applymap的区别
2021/11/27 Python
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle