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字段 ...
随机推荐
- leetcode-两个数组交集(包含重复元素)
Python解法代码: class Solution: def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]: ...
- LOJ #6538. 烷基计数 加强版 加强版(生成函数,burnside引理,多项式牛顿迭代)
传送门. 不妨设\(A(x)\)表示答案. 对于一个点,考虑它的三个子节点,直接卷起来是\(A(x)^3\),但是这样肯定会计重,因为我们要的是无序的子节点. 那么用burnside引理,枚举一个排列 ...
- Delphi操作ACCESS技巧集
1.DELPHI中操作access数据库(建立.mdb文件,压缩数据库)以下代码在WIN2K,D6,MDAC2.6下测试通过,编译好的程序在WIN98第二版无ACCESS环境下运行成功.//在之前us ...
- NX二次开发-UFUN获取球的参数UF_MODL_ask_sphere_parms
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...
- hdu多校第五场1004 (hdu6627) equation 1 计算几何
题意: 给你一个C,再给你n组a,b,让你求x取什么值的时候,$ \sum_{i=1}^n |a_i*x+b_i| =C $,要求求出解的个数,并用最简分数从小到大表示,如果有无穷多解,输出-1. 题 ...
- CometOJ Contest #3 C
题目链接:https://cometoj.com/contest/38/problem/C?problem_id=1542&myself=0&result=0&page=1&a ...
- fastReport.net 初了解
delphi 中fastReport rmReport都很好用,转到.net了,第一想法也是这两个,好在这里有个fastReport; 这个安装呢 找个破解的 有个4.x版 安完建一个winForm ...
- Southeastern European Regional Programming Contest 2019
easy: I medium-easy: BDEGJ medium: F medium-hard: A A. B. 按 x 排序,\(dp[i][j][k]\) 表示考虑前 \(i\) 个物品,lev ...
- 【HDUOJ】1213 How many tables
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 题意:Ignatius邀请了n个朋友来家里,朋友之间如果互相不认识的不想坐一起,所以至少要准备几 ...
- vue中解决拖动和点击事件的冲突
BUG说明: 鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认执行click事件,经验证,click事件与mouse事件的执行顺序为onmousedown =>onmouseup => ...