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)