Python爬虫实战:使用Selenium提取腾讯新闻发布时间
import re
from selenium import webdriver
# 配置Chrome选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--timeout=10')
# 配置服务参数
service_args = ['--connect-timeout=10']
# 创建浏览器实例
browser = webdriver.Chrome(options=chrome_options, service_args=service_args)
def get_news_date(news):
'''
获取新闻发布日期
'''
url = 'https://new.qq.com/search?query=' + news
browser.get(url)
data = browser.page_source
p_time = '<span class="c-color-gray2 c-font-normal c-gap-right-xsmall" aria-label=".*?">(.*?)</span>'
title = re.findall(p_time, data)
return title
def save_news_date(news_list):
'''
保存新闻发布日期到文件
'''
with open('news_date1.txt', 'w') as f:
for news in news_list:
date_list = get_news_date(news)
for date in date_list:
f.write(news + '\t' + date + '\n')
print(news + ' ' + date + ' 爬取成功')
if __name__ == '__main__':
news_list = ['李思思', '李玉刚', '陈景润']
save_news_date(news_list)
代码说明:
- 导入必要的库:
re用于正则表达式匹配,selenium用于控制浏览器. - 配置浏览器: 设置超时时间,创建 Chrome 浏览器实例。
get_news_date(news)函数:- 构建搜索 URL。
- 使用浏览器实例打开网页。
- 获取网页源代码。
- 使用正则表达式提取发布时间。
- 返回发布时间列表。
save_news_date(news_list)函数:- 遍历新闻列表。
- 调用
get_news_date函数获取发布时间。 - 将新闻标题和发布时间保存到文件。
- 主程序:
- 定义要搜索的新闻列表。
- 调用
save_news_date函数开始爬取。
SEO 优化:
- 标题中包含关键词 “Python 爬虫” 和 “Selenium”。
- 描述中概括文章内容,并包含相关关键词。
- 代码中添加注释,解释代码功能,方便搜索引擎理解代码语义。
- 使用清晰的代码结构和变量命名,提高代码可读性。
注意:
- 在运行代码之前,请确保已安装 Selenium 库和 Chrome 浏览器驱动程序。
- 网页结构可能发生变化,导致代码失效,需要根据实际情况调整代码。
- 请遵守 robots.txt 协议,不要对网站造成过大的负担。
原文地址: https://www.cveoy.top/t/topic/T3S 著作权归作者所有。请勿转载和采集!