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获取百度热榜链接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值