新闻数据获取:基于Selenium和newspaper的Python爬虫

这篇博客介绍了如何使用Python的Selenium库模拟用户操作,从网页上抓取新闻标题、发布时间和内容。通过设置关键词和链接,实现了将获取的新闻数据存储到CSV文件中。虽然目前的代码限制为获取100条新闻,但作者提示可以通过增加翻页代码来扩大抓取范围。
摘要由CSDN通过智能技术生成

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。

1、明确需求:

我们需要下载与某一主题相关的新闻文本,包括新闻标题、发布时间、新闻内容等,并将获取到的文本数据存储到csv文件。

以下代码可以获取相关主题的新闻文本100条,如果需求量不超过100,可以直接修改关键词,运行程序即可。

2、导入模块:
from selenium import webdriver
import time
from lxml import etree
from newspaper import Article
3、设置链接和关键词
url = "http://www.chinanews.com/"
keyword = "修改成自己需要的关键词"
4、主代码:

建议大家打开中国新闻网官网,实际操作一下搜索流程,看代码会更容易理解,毕竟在这里selenium是用来模拟用户的操作过程。

下面代码中Xpath的路径表达式,可这样获取:如果大家使用的是谷歌浏览器,可以按快捷键F12之后,选中需要的元素(element),右击会出现Copy,选择Cope Xpath即可。
在这里插入图片描述
详细的解释过程全部以注释的形式添加在了整体代码里面,就不对代码进行切割解释了~

# 这里用的是谷歌浏览器
driver = webdriver.Chrome()              
driver.get(url)

#获取主页面句柄 (每个浏览器标签页都有一个句柄),下面会用得到
mainhandle=driver.current_window_handle   
# 找到搜索框并点击
driver.find_element_by_xpath('//*[@id="q"]').click()
time.sleep(2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值