selenium新闻爬取_selnium获取百度新闻_厨师长爱炼丹的博客-程序员宅基地

技术标签: 网络爬虫  爬虫  python  selenium  测试工具  

# encoding: utf-8
from selenium import webdriver
import time
import pandas as pd

# 人工设定抓取页数
page_max = 10

# 设置访问网址
url = 'http://news.baidu.com/'

# 浏览器驱动本地存放路径
driver_path = ''  # 火狐

# 运行驱动
driver = webdriver.Firefox(executable_path=driver_path)

# 访问
driver.get(url)

# 输入搜索关键词
input_keyword = driver.find_element_by_xpath("//input[@class='word']")
input_keyword.click()
keyword = '新冠疫情'
input_keyword.send_keys(keyword)

# 点击搜索按钮
button_search = driver.find_element_by_xpath("//input[@id='s_btn_wr']")
button_search.click()

page_count = 0
all_title_list = []
all_time_list = []
while page_count < page_max:

    titles_list = driver.find_elements_by_xpath("//h3[@class='news-title_1YtI1']")
    for news_title in titles_list:
        print(news_title.text)
        all_title_list.append(news_title.text)

    time_list = driver.find_elements_by_xpath("//span[@class='c-color-gray2 c-font-normal']")
    for news_time in time_list:
        print(news_time.text)
        all_time_list.append(news_time.text)

    button_next = driver.find_element_by_xpath("//a[@class='n']")
    button_next.click()
    page_count += 1

df_save = pd.DataFrame(columns=['title', 'time'])
df_save['title'] = all_title_list
df_save['time'] = all_time_list
df_save.to_csv('news.csv')
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hahadesu/article/details/123473494

智能推荐

css3 弹性盒子 Flex Box 完整攻略-程序员宅基地

CSS3 弹性盒子(Flex Box)弹性盒子是 CSS3 的一种新的布局模式。CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。浏览器支持表格中的数字表示支持

[转]对FPGA认识、学习和进阶《技术人生2009特辑》-程序员宅基地

自从接触和认识FPGA以后,自由电子科技坚定的选择了FPGA器件作为我们创新和实现自身价值的承载平台,对此,我想从以下几个方面介绍一下。 1. 对FPGA的认识,为什么要选择FPGA 现在的FPGA器件在电子行业中是一颗明星,这是一种正在不断采用新的半导体制造工艺,逻辑容量不断增加,应用领域不断拓展,器件成本不断下降的器件,FPGA厂商激烈的竞争使开发软件和方法不断的进步,是一个正在盘古开天时期的事物。很多人对此的解释是FPGA拥有很大的灵

java开发手册笔记--OOP 规约_避免上下文重复使用一个变量-程序员宅基地

【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。【强制】所有的覆写方法,必须加@Override 注解。说明:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override 可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。【强制】相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。说明:可变参数必须放.._避免上下文重复使用一个变量

DWRUtil.addOptions() 方法详解(收藏)-程序员宅基地

创建列表DWR通常需要填充一个列表框,主要是addOptions和removeAllOptions方法。如果当你更新时需要维护列表,通常需要如下代码:var sel = DWRUtil.getValue(id);DWRUtil.removeAllOptions(id);DWRUtil.addOptions(id, ...);DWRUtil.setValue(id, sel); se...

Redis的配置文件常用配置详解-程序员宅基地

redis配置文件介绍redis的配置文件一般在它的解压目录下,名字为 redis.conf 的文件。我们启动redis的时候,可以指定配置文件启动。redis的配置文件可以有多份。启动的时候指定其中一个。看reids的配置文件,includes类我们可以使用 include 来包含其他的配置的文件,redis加载的时候,会把include对应的地址 的配置文件加载进来如:includ...

C语言 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位_c语言指针有n个人围成一圈,顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人-程序员宅基地

#include<stdio.h>void pick(int *p,int n){ int i,sum,cnt=0; for(i=0;i<n;i++) *(p+i)=1; i=0; sum=n; while(sum>1) { if(*(p+i)==1) { cnt++; if(cnt%3==0) { *(p+i)=0; cnt=0; sum--; } } i++; i=i%n;//转完一圈后重新开._c语言指针有n个人围成一圈,顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人

随便推点

RTK如何进行面积测量,跟攻略学就对了_rtk能测量房间面积不-程序员宅基地

在工程的设计、规划等应用场景中,我们常常会用到面积测量功能,可以直观的在手簿上显示测区的范围、图形以及测区的面积和周长。了解更多工程测量、仪器知识,关注”CORS测绘服务商“VX公众号了解更多工程测量、仪器知识,关注”CORS测绘服务商“VX公众号1、首先打开科力达工程之星的主界面,点击“测量”,选择“面积测量”,进入面积测量界面。了解更多工程测量、仪器知识,关注”CORS测绘服务商“VX公众号2、点击正下方“目标”,进入边界管理界面,点击下方“添加”,进入新建边界界面,在此界面_rtk能测量房间面积不

php脚本贪吃蛇,C++_贪吃蛇游戏C++命令行版实例代码,本文实例讲述了贪吃蛇游戏C++ - phpStudy..._无名玺的博客-程序员宅基地

贪吃蛇游戏C++命令行版实例代码本文实例讲述了贪吃蛇游戏C++命令行版的实现代码,是非常经典的游戏。分享给大家供大家参考。具体实现方法如下:众所周知,贪吃蛇游戏是经典的计算机游戏。游戏描述如下:1. 贪吃蛇可以自动直线前进,或者玩家可以通过方向键操纵贪吃蛇上下左右前进,每次前进一格。2. 贪吃蛇在规定的区域内活动,当:①贪吃蛇触碰到墙壁时;②贪吃蛇的蛇头触碰到蛇身或者蛇尾时;③玩家的键盘输入不是方..._贪吃蛇php代码

SQL server数据库with as子句与递归查询的实现_with as的join-程序员宅基地

sql server中递归并不与Oracle等数据库中的递归一样。在sql server中递归使用join自连接完成的,当然这些都要在with as短句中完成的,下面我们先来说一下with as 短句。1.关于with as短句WITH AS短语,也叫子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高..._with as的join

swiper插件实现轮播图_swiper自动轮播代码_浪流人的博客-程序员宅基地

我们的watch只能保证在bannerList变化时创建swiper对象,但是并不能保证此时v-for已经执行完了。假如watch先监听到bannerList数据变化,执行回调函数创建了swiper对象,之后v-for才执行,这样也是无法渲染轮播图图片(因为swiper对象生效的前提是html即dom结构已经渲染好了)。解决方法二:我们可以使用watch监听bannerList轮播图列表属性,因为bannerList初始值为空,当它有数据时,我们就可以创建swiper对象。_swiper自动轮播代码

如何查看SE16N修改的表的记录-程序员宅基地

更多内容关注公众号:SAP Technical各位可以关注我的公众号:SAP TechnicalSE16N 通过&sap_edit 可以修改表,修改表后如何查看呢。 分两步进行。1. 事务码 SE16N, 然后输入表SE16N_CD_Key, 输入相应的查询条件。例如 table 名,查出相应的ID2. 事务码 SE16N,然后输入表 SE16N_CD_DATA, ...

GStreamer基础教程02 - 基本概念_自定义gstreamer srcsink-程序员宅基地

原作者:John.Leng出处:http://www.cnblogs.com/xleng/摘要在 Gstreamer基础教程01 - Hello World中,我们介绍了如何快速的通过一个字符串创建一个简单的pipeline。为了能够更好的控制pipline中的element,我们需要单独创建element,然后再构造pipeline,下面将介绍GStreamer的一些基本概念并展示pipe..._自定义gstreamer srcsink

推荐文章

热门文章

相关标签