爬取百度搜索第一页子网页的(文章、时间和url),非文章的则截屏

本文介绍如何爬取百度搜索第一页的子网页,针对含有文章内容的条目提取文字信息,非文章部分则进行截图处理。初步结果显示,成功爬取了百度百科的文本信息,而对网易云音乐的网页无法获取相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了方便快速从百度搜索找到自己想要的信息,开始尝试。
第一步:爬取百度搜索第一页子网页的(文章、时间和url),非文章的则截屏
后面研究后更新。

import requests
from lxml import etree
import csv
import re
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
#对于不是文章的网址,进行后台截屏
options = Options()
options.add_argument('start-maximized')
options.add_argument('--headless')
options.add_argument('--disable-gpu')
#驱动路径path
#C:\Dsoftdisk\Chrome\Google\Chrome\Application
path = 'C:\Dsoftdisk\Chrome\Google\Chrome\Application\chromedriver.exe'
brow=webdriver.Chrome(executable_path=path, options=options)


#获取文章内容
url = 'http://www.baidu.com.cn/s?wd=周杰伦'+'&pn=0'
#其实只用user-agent也没问题 有的url仅用user-agent不行,读不出数据
head = {'pragma': "no-cache",
        'accept-encoding': "gzip, deflate, br",
        'accept-language': "zh
使用Python正则表达式爬取百度热搜榜页面的基本步骤如下: 首先,你需要安装 `requests` `BeautifulSoup` 这两个库,分别用于发送HTTP请求解析HTML文档: ```bash pip install requests beautifulsoup4 ``` 然后,你可以使用以下代码示例来获取网页内容并提取关键词热力值。这里假设网页结构包含在HTML的某个class名下,例如`.hot-item`。请注意,实际网站结构可能会有所不同,因此需要根据实际HTML调整正则表达式。 ```python import requests from bs4 import BeautifulSoup # 百度热搜首页URL url = "https://top.baidu.com/" def fetch_hot_keywords(url): # 发送GET请求 response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') # 找到包含热搜关键词的元素,通常会有class属性如".hot-item" keyword_elements = soup.find_all(class_='hot-item', recursive=False) # 不递归查找防止无限循环 keywords = [] heat_values = [] for item in keyword_elements[1:]: # 置顶信息忽略 try: # 提取关键词热度值(假设它们分别在item的第一个第二个元素内) keyword = item.find('span', class_='title').text.strip() heat_value = int(item.find('em', class_='heat').text.split()[0]) # 假设热力值是以数字形式展示 keywords.append(keyword) heat_values.append(heat_value) except (AttributeError, ValueError): # 如果找不到或无法转换为整数,跳过这个元素 pass return keywords, heat_values else: print(f"请求失败,状态码:{response.status_code}") return [], [] # 调用函数并打印结果 keywords, heat_values = fetch_hot_keywords(url) print("关键词:", keywords) print("热力值:", heat_values) # 为了截图,可以将抓取的内容保存到文件或使用第三方库如PIL或selenium ``` 执行此代码后,你会得到爬取到的热搜关键词列表对应热力值。记得检查实际网页结构以便修改正则表达式匹配部分。完成任务后,你需要提供爬虫运行的屏幕截图,显示热搜页面、代码执行结果以及包含数据的部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值