python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据
import requests
from selenium import webdriver
import time def grasp(urlT):
driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') #自动化测试程序工具本地所在地
resAll = [] #用于存储单条数据
rest = {} #用于存储单个数据
res=requests.get(urlT)
for i in range(0,29):
print(f'第{i+1}条新闻开始')
print(res.json()['data'][i]['title'])
try:
print(res.json()['data'][i]['newsTime'])
except:
print('None')
print(res.json()['data'][i]['source'])
print(res.json()['data'][i]['url'])
rest['title']=res.json()['data'][i]['title']
try:
rest['newsTime'] = res.json()['data'][i]['newsTime']
except:
rest['newsTime'] = 'None'
rest['source'] = res.json()['data'][i]['source']
url = res.json()['data'][i]['url']
rest['url'] = res.json()['data'][i]['url']
try: driver.get(url)
time.sleep(4)
contend = driver.find_element_by_class_name('text-3zQ3cZD4').text
rest['contend'] = str(contend)
print(contend)
driver.back()
print(f'第{i+1}条新闻结束')
time.sleep(6)
except:
contend = driver.find_element_by_class_name('topic_column-5QvrwcWi').text
rest['contend'] = str(contend)
print(contend)
driver.back()
time.sleep(6)
print(f'第{i+1}条新闻格式不同')
print('#-----------------------某些格式不符合------------------------#')
resAll.append(rest)
with open('./news.txt', 'a+', encoding='utf-8') as f:
try:
f.write(''.join(resAll[i].values())+'\n')
except:
print('写入失败') url = "https://shankapi.ifeng.com/spring/finance/index/newInfoIndex/75219"
grasp(url)
#
#
# class Grasp:
#
# def __init__(self):
# self.driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
# self.resAll = []#用于存储单条数据
# self.rest = {}#用于存储单个数据
# self.res = requests.get("https://shankapi.ifeng.com/spring/finance/index/newInfoIndex/75219")#目标链接
#
# def run(self):
# for i in range(0, len(self.res.json()['data'])):
# print(f'第{i+1}条新闻开始')
# print(self.res.json()['data'][i]['title']) #输出标题
# try:
# print(self.res.json()['data'][i]['newsTime']) #输出时间
# except:
# print('None')
# print(self.res.json()['data'][i]['source']) #输出来源
# print(self.res.json()['data'][i]['url']) #输出链接地址
# self.rest['title'] = self.res.json()['data'][i]['title'] #获取标题
# try:
# self.rest['newsTime'] = self.res.json()['data'][i]['newsTime'] #获取时间
# except:
# self.rest['newsTime'] = 'None'
# self.rest['source'] = self.res.json()['data'][i]['source'] #获取来源
# self.url = self.res.json()['data'][i]['url']
# self.rest['url'] = self.res.json()['data'][i]['url']#获取链接地址
# try:
# self.driver.get(url)
# time.sleep(4)
# self.contend = self.driver.find_element_by_class_name('text-3zQ3cZD4').text#获取网页标签下的文本
# self.rest['contend'] = str(self.contend)#插入单条数据
# print(f'第{i}条新闻成功')
# self.driver.back()
# time.sleep(4)
# except:
# contend = driver.find_element_by_class_name('topic_column-5QvrwcWi').text
# rest['contend'] = str(contend)
# driver.back()
# time.sleep(6)
# print(f'第{i+1}条新闻格式不同')
# print('#-----------------------某些格式不符合------------------------#')
# self.resAll.append(self.rest)
# with open('./news.txt', 'a+', encoding='utf-8') as f:
# try:
#
# f.write(''.join(self.resAll[i].values()) + '\n') #写入数据
# f.write(f'第{i+1}条新闻结束')
# except:
# print('写入失败')
#
# g = Grasp()
# g.run()
电脑性能差,如若想获取其他页面的数据,将规则写在except中,即可
希望,帮到大家
python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据的更多相关文章
- 用Python爬取影视网站,直接解析播放地址。
记录时刻! 写这个爬虫主要是想让自己的爬虫实用,把脚本放到了服务器,成为可随时调用的接口. 思路算是没思路吧!把影视名带上去请求影视网站,然后解析出我们需要的播放地址. 我也把自己的接口分享出来.接口 ...
- python爬取某个网站的图片并保存到本地
python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...
- python爬取博客圆首页文章链接+标题
新人一枚,初来乍到,请多关照 来到博客园,不知道写点啥,那就去瞄一瞄大家都在干什么好了. 使用python 爬取博客园首页文章链接和标题. 首先当然是环境了,爬虫在window10系统下,python ...
- 用Python爬取斗鱼网站的一个小案例
思路解析: 1.我们需要明确爬取数据的目的:为了按热度查看主播的在线观看人数 2.浏览网页源代码,查看我们需要的数据的定位标签 3.在代码中发送一个http请求,获取到网页返回的html(需要注意的是 ...
- 利用Python爬取电影网站
#!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...
- Python爬取招聘网站数据,给学习、求职一点参考
1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于“数据”方面的人才需求也在不断增大.因此了解当下企业究竟需要招聘什么样的人才?需要什么样的技能?不管是对于 ...
- Python爬取某网站文档数据完整教程(附源码)
基本开发环境 (https://jq.qq.com/?_wv=1027&k=NofUEYzs) Python 3.6 Pycharm 相关模块的使用 (https://jq.qq.com/?_ ...
- python爬取电影网站信息
一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...
- Python爬取mn52网站美女图片以及图片防盗链的解决方法
防盗链原理 http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么 因此所有防盗链方法都是基于这个Referer字段 ...
随机推荐
- thinkphp 入口绑定
入口绑定是指在应用的入口文件中绑定某个模块,甚至还可以绑定某个控制器和操作,用来简化URL地址的访问. 绑定模块 例如,我们定义了一个入口文件admin.php,希望可以直接访问Admin模块,那么我 ...
- NX二次开发-UFUN相加布尔操作,可保留或删除目标体,工具体UF_MODL_unite_bodies_with_retained_options
NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN ...
- sqlalchemy之create_engine和session
sqlalchemy之create_engine和session orm 实质上,一个O/R Mapping会为你生成DAL.(即为数据访问层(Data Access Layer).其功能主要是负责数 ...
- 10.RabbitMQ Fanout类型交换机
Fanout类型交换机忽略Routing Key,它将消息传递到所有与它绑定的队列上. Producer.java package com.test.fanout; import co ...
- ionic-CSS:ionic tab(选项卡)
ylbtech-ionic-CSS:ionic tab(选项卡) 1.返回顶部 1. ionic tab(选项卡) ionic tab(选项卡) 是水平排列的按钮或者链接,用以页面间导航的切换.它可以 ...
- [转]如何升级gcc版本
首先需要准备需要材料:gcc4.4.2版需要安装gmp4.2.0+和mpfr2.3.0+,到GMP的网站(http://gmplib.org/)上下载gmp-4.3.1.tar.gz 和mprf的网站 ...
- 使用Pyppeteer进行gmail模拟登录
import asyncio import time from pyppeteer import launch async def gmailLogin(username, password, url ...
- Python分布式爬虫必学框架scrapy打造搜索引擎✍✍✍
Python分布式爬虫必学框架scrapy打造搜索引擎 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身 ...
- 15-Ubuntu-文件和目录命令-查看目录内容-ls-2
4. ls和通配符的使用 通配符适用的地方:shell命令行或者shell脚本中. 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 正则表达式与通配符有相同的符号但是意义不同!! ...
- 【POJ】2387 Til the Cows Come Home
题目链接:http://poj.org/problem?id=2387 题意:求从1到n的最短路 题解:板子题.spfa. 代码: #include<iostream> #include& ...