专栏首页python学习教程python获取百度热榜链接的实例方法

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

在本篇文章里小编给大家整理了关于python获取百度热榜链接的实例方法,需要的朋友们可以学习参考下。

目标网址:

https://www.baidu.com/

要获取的内容:

链接分析:

从下图可以看出只需要获取关键字,再构建就可以了。

完整代码:

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)

你会发现结果很长:

但其实关键字后面的几个参数是可以去掉的,这样url就没有那么长了。

内容扩展:

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教程(pythonjc),作者:小雨

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python代码规范之简明概述

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • Python爬虫,批量下载小说网站上的小说

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • 五年Python程序员平时学习笔记总结

    像list, tuple等这些序列是可以使用for...in ...语句来进行遍历输出的。这是为什么呢?这就需要知道可迭代对象(Iterable)、迭代器对象(...

    python学习教程
  • 使用SpringBoot+Dubbo搭建一个简单的分布式服务

    开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo、RPC、分布式、由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服...

    好好学java
  • 使用SpringBoot+Dubbo搭建一个简单的分布式服务

    开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo、RPC、分布式、由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服...

    Java团长
  • 那些有趣的网站系列(四)

    之前分享过 那些有趣的网站 ,那些有趣的网站(二),那些有趣的网站系列(三),这是系列第4篇,更多有意思的网站在文章开头的专辑里。

    苏生不惑
  • 对我影响最深的 10 位科技大佬

    雷锋网按:这里是油管Artificial Intelligence Education专栏,原作者Siraj Raval授权雷锋字幕组编译。

    AI研习社
  • 一文打尽人工智能和机器学习网络资源,反正我已经收藏了!

    大数据文摘
  • TAS:一款轻量级tty修改与代码伪造框架

    TAS是一款轻量级框架,在它的帮助下,研究人员可以轻松修改tty并创建伪造的代码。

    FB客服
  • Python之路【第七篇】:Python

    py3study

扫码关注云+社区

领取腾讯云代金券