首页 > 编程语言 >python爬虫获取百度热搜

python爬虫获取百度热搜

时间:2024-06-15 15:24:07浏览次数:13  
标签:xpath python text 爬虫 获取 div main 百度

注:本篇学习需要python基础

前言:在上篇中,我们学习了怎么用python发送网页请求来获取网站的源代码,在这篇中,我们将进一步学习

本篇目标:利用python爬虫获取百度热搜

第一步,用浏览器打开百度热搜网站

百度热搜网址 https://top.baidu.com/board?tab=realtime
页面如下:
image

第二步,按下F12键打开浏览器开发者界面,找到热搜文本元素

image

第三步,右键单击文本元素复制Xpath

image

第四步,编写代码

import requests
from lxml import etree
# 发送HTTP请求获取网页内容
url = 'https://top.baidu.com/board?tab=realtime'
response = requests.get(url)
# 解析网页代码
doc = etree.HTML(response.text)
# 寻找Xpath结果
result = doc.xpath(r'//*[@id="sanRoot"]/main/div[2]/div/div[2]/div[2]/div[2]/a/div[1]/text()') #这里粘贴复制下来的xpath
# 打印结果
print(result[0])

结果如下:

  00后女生成为上市公司总裁 

我们成功获取到了第一个热搜,但是我们想要全部的热搜怎么办?
于是我们继续复制第二个热搜的xpath,与第一个对比

第一个 //*[@id="sanRoot"]/main/div[2]/div/div[2]/div[ 2 ]/div[2]/a/div[1]/text()
第二个 //*[@id="sanRoot"]/main/div[2]/div/div[2]/div[ 3 ]/div[2]/a/div[1]/text()

我们发现中间有一个数字不同,因此发现规律,接下来我们改进代码

import requests
from lxml import etree
# 发送HTTP请求获取网页内容
url = 'https://top.baidu.com/board?tab=realtime'
response = requests.get(url)
# 解析网页代码
doc = etree.HTML(response.text)
# 拼接xpath获取结果
for i in range(1,12):
    xpath = '//*[@id="sanRoot"]/main/div[2]/div/div[2]/div['+str(i)+']/div[2]/a/div[1]/text()'
    res = doc.xpath(xpath)
    # 打印结果
    print(str(i)+":"+res[0])

结果如下:

1:  中国为何始终属于“全球南方” 
2:  00后女生成为上市公司总裁 
3:  菲律宾“坐滩”军舰有多毒 
4:  应对高温“渴”不容缓 
5:  浙传毕业大片 这知识学了是真用 
6:  大学生39天减重近20斤后“猝死” 
7:  内蒙古一停工写字楼内发现遗体 
8:  四级结束 已老实 
9:  棚改小面积能换更大平方?谣言 
10:  李开复:对中国大模型DAU很失望 
11:  4名小男孩合力挪走挡路树枝 

目标达成,在下一篇文章中,我们将进一步进阶学习

标签:xpath,python,text,爬虫,获取,div,main,百度
From: https://www.cnblogs.com/jeanhua/p/18249325

相关文章

  • python爬虫入门
    注:本篇需要python基础Python爬虫。相信大家对爬虫这个词都不陌生,那么什么是爬虫呢?简单来说,爬虫就是一只在网上爬行的虫子,它会根据我们设定的规则,自动地获取我们感兴趣的信息。而Python爬虫就是使用Python语言来编写这个虫子的程序。一、准备工作在开始编写Python爬虫之前,我们需......
  • Python 字典
    Python字典字典的基本定义Python字典(Dictionary)是一个无序的、可变的数据结构,它用于存储键值对(key-valuepairs)。在字典中,每个键都是唯一的,并且与一个值相关联。你可以通过键来访问、修改或删除与之关联的值。以下是字典的一些基本特点:无序性:字典中的元素(键值对)没有特定的......
  • 最新版!Python所有方向的学习路线图!
     学习路线图上面写的是某个方向建议学习和掌握的知识点汇总,举个例子,如果你要学习爬虫,那么你就去学Python爬虫学习路线图上面的知识点,这样学下来之后,你的知识体系是比较全面的,比起在网上找到什么就学什么,容易造成重复学,有时候也会学到一些用处不大的东西。还有一点就是,有了学......
  • Python 元组
    Python元组在Python中,元组(Tuple)是一种不可变(immutable)的序列类型,用于存储一系列有序的元素。元组中的元素可以是任意类型,包括整数、浮点数、字符串、列表、元组等,且元素之间使用逗号,分隔。与列表(List)相比,元组的主要特点是它的不可变性,即元组创建后不能修改其内部的元素。元组......
  • 最简单的随机过程——马尔科夫链的Python分析
    马尔科夫链是一种用于描述系统从一个状态转移到另一个状态的随机过程。它得名于俄罗斯数学家安德雷·马尔科夫,他在20世纪初提出了这种数学模型。马尔科夫链的一个关键特性是无记忆性,即未来状态的概率只依赖于当前状态,而不依赖于过去的状态。这种性质使得马尔科夫链在许多领域中具......
  • 【Python】排班系统与排列组合
    先看最简单的情况,若有赵钱孙李周5人需要排班,一人一天,情况如下:fromitertoolsimportpermutationsforpinpermutations('赵钱孙李周'):#全排列print(''.join(p))此时会打印出 '赵钱孙李周'5人的所有情况。现在假如第一天的人必须是周,则需要加上判断即可:fromite......
  • 豆瓣电影信息爬虫【2024年6月】教程
    豆瓣电影信息爬虫【2024年6月】教程,赋完整代码在本教程中,我们将使用以下技术栈来构建一个爬虫,用于爬取豆瓣电影列表页面的信息:完整代码放到最后;完整代码放到最后;完整代码放到最后;重要的事情说三遍。1.技术栈介绍在本教程中,我们将使用以下技术栈来构建一个爬虫,......
  • python下的自动调度
    目录编写一个自动发送每日电子邮件报告的脚本编写一个自动发送每日电子邮件报告的脚本包括以下几个步骤:安装必要的库:用于发送电子邮件的smtplib和用于处理电子邮件内容的email库是Python标准库的一部分。我们还需要安装schedule库来安排每日任务。设置电子邮件服务器:您需要一......
  • 如何入门Python爬虫,这就是答案!
    “入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定不是一个有向无环图。因为学习A的经验可以帮助你学习B。因此,......
  • 基于Python+scopy实现的渗透测试工具对网站URL以及端口进行漏洞检测系统
    目录摘要2Abstract3第1章绪论51.1研究背景与意义51.2国内外研究现状和发展趋势51.3本论文主要工作及组织结构61.3.1论文主要研究工作61.3.2论文的组织结构6第2章web安全评估及测试的介绍82.1渗透测试82.2web安全评估8第3章渗透测试及安......