Python获取 东方财富 7x24小时全球快讯
本文使用的IDE为PyCharm。
1.第三方库
(1)selenium
selenium用来做浏览器自动化,因为这部分信息是动态加载的,不用这种方法读取不到相关数据。
安装:
pip3 install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
然后下载与自己浏览器对应的驱动
火狐浏览器驱动,其下载地址是:https://github.com/mozilla/geckodriver/releases
谷歌浏览器驱动,其下载地址是:http://chromedriver.storage.googleapis.com/index.html?path=2.33/
opera浏览器驱动,其下载地址是:https://github.com/operasoftware/operachromiumdriver/releases
以上是网上有大佬贴出来的下载地址,实际使用需要根据自己电脑上的浏览器版本下载对应的驱动,比如我用的谷歌浏览器,驱动版本不对应会报如下错误:

这个时候,我们根据这里报的 chrome=75.0.3770.142去查找对应的驱动版本。驱动版本可到 http://npm.taobao.org/mirrors/chromedriver/ 下载。
我的驱动直接放在文件同目录了:

(2)BeautifulSoup
pip3 install bs4 -i https://pypi.tuna.tsinghua.edu.cn/simple
2.网页分析
东方财富 7x24小时全球快讯 的网址是 http://m.eastmoney.com/kuaixun ,这里我想获取三项内容,新闻时间,新闻简介和新闻的链接。


3.代码实现及效果
代码中关键的地方都已经写在注释里面了。
from bs4 import BeautifulSoup
import time;
from selenium import webdriver
from selenium.webdriver.chrome.options import Options chrome_options = Options()
# 设置chrome浏览器无界面模式,不然每运行一次都会弹出来谷歌浏览器界面
# 不过弹出谷歌界面有助于理解为什么下面会有个页面滚动
chrome_options.add_argument('--headless')
# executable_path为驱动地址
browser = webdriver.Chrome(executable_path='./chromedriver.exe', chrome_options=chrome_options)
url = "http://m.eastmoney.com/kuaixun"
browser.get(url)
# 模仿浏览器往下滚动的页面,获取更多的数据
for i in range(1, 5):
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
time.sleep(1)
html = BeautifulSoup(browser.page_source, "lxml")
# 退出浏览器
browser.quit()
# print(html)
news_list = html.find_all('div', class_='kxitem')
# print(news_list)
for news in news_list:
print(news['data-id'])
news_text = news.find('span')
news_href = news.find('a')
for s in news_text("a"):
# 去掉span标签中的链接标签
s.extract()
print(news_text.get_text())
print(news_href['href'])
效果:

Python获取 东方财富 7x24小时全球快讯的更多相关文章
- Python Elasticsearch api,组合过滤器,term过滤器,正则查询 ,match查询,获取最近一小时的数据
		
Python Elasticsearch api 描述:ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.下 ...
 - python获取时间————前一天后一天前一小时后一小时前一分钟后一分钟
		
获取当天日期 一: import time print(time.strftime("%Y-%m-%d")) #输出当前日期 2018-05-01 二: import dateti ...
 - python 获取日期
		
转载 原文:python 获取日期 作者:m4774411wang python 获取日期我们需要用到time模块,比如time.strftime方法 time.strftime('%Y-%m-% ...
 - Python  获取时间戳
		
Python 获取时间通过 time 模块 如下代码,是通过获取当前的时间,按照格式输出 Python默认获取当前的时间返回的都是时间的元组,下面是元组的,字符串时间的一个转换输出 # -*- cod ...
 - 用 Python 获取 B 站播放历史记录
		
用 Python 获取 B 站播放历史记录 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一年我居然在 B 站上看了2600+个视频,总计251个小时,居然花 ...
 - python 获取当前时间(关于time()时间问题的重要补充)
		
python 获取当前时间 我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下python 当前时间这 ...
 - Python获取当前系统时间
		
Python获取当前系统时间 import time #返回当前时间 def GetNowTime(): return time.strftime("%Y-%m-%d %H:%M:% ...
 - Python获取当前时间_获取格式化时间_格式化日期
		
Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点数),然后传递给 localtime 获取当前时间 #使 ...
 - python获取当前时间、今天零点、235959点、昨天当前时间、明天的当前时间
		
python获取当前时间.今天零点.23:59:59点.昨天当前时间.明天的当前时间. 关注公众号"轻松学编程"了解更多. 获取当前时间.今天零点 使用timedalte. tim ...
 
随机推荐
- 利用XtraBackup给MYSQL热备(基于数据文件)
			
利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基 ...
 - gcc的作用
			
把代码编译成二进制文件 预处理----头文件,宏定义展开,条件编译 干掉注释代码 编译成汇编代码 生成目标代码.o (还不能执行) 链接(动态库)生成可执行程序 xxx.out 运行前,内存已经存在分 ...
 - springAop Schedule,注解annotation  实现任务监控
			
我们有很多定时任务在任务工程中执行,但是如果我们不加以监控,很有可能定时任务死掉或者卡住我们都不知道. 所以需要做一个任务监控.监控任务当前执行的状态. 还是那样,先让定时任务启动起来,当前我们使用的 ...
 - Codeforces Round #442 (Div. 2) B题【一道模拟题QAQ】
			
B. Nikita and string One day Nikita found the string containing letters "a" and "b&qu ...
 - 【题解】球迷购票问题-C++
			
题目背景 盛况空前的足球赛即将举行.球赛门票售票处排起了球迷购票长龙. 按售票处规定,每位购票者限购一张门票,且每张票售价为50元.在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值1 ...
 - 004_linuxC++之_函数的重载
			
(一)源码下载 (一) 函数的重载:同一个命名函数,通过传入参数的不同,调用不一样的函数 上面程序的运行结果: (二)函数只能通过参数的不一样重载函数,不能通过返回参数的不一样重载函数 运行结果报错 ...
 - react 后台(一) react + redux + react-route + webpack+ axios + antd + less
			
create-react-app 项目名称(项目失败,ant 的样式出不来) 项目技术栈 react + redux + react-route + webpack+ axios + less + a ...
 - [Luogu] 子共七
			
https://www.luogu.org/problemnew/show/P3131 A表示前缀和数组 A[r] - A[l - 1] = 0 (mod 7) 得 A[r] = A[l - 1] ( ...
 - scrapy框架之进阶
			
五大核心组件 - 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) - 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. ...
 - MySQL监控利器-PMM
			
本篇文章来简要介绍一下MySQL监控利器-PMM的部署过程. 环境: 主机名 IP 功能 系统 数据库版本 pmmclient 192.168.91.34 PMM-client RHEL7.4 p ...