python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据

Posted supersmall

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据相关的知识,希望对你有一定的参考价值。

技术图片
 1 import requests
 2 from selenium import webdriver
 3 import time
 4 
 5 def grasp(urlT):
 6 driver = webdriver.Chrome(rC:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe) #自动化测试程序工具本地所在地
 7 resAll = [] #用于存储单条数据
 8 rest =  #用于存储单个数据
 9 res=requests.get(urlT)
10 for i in range(0,29):
11 print(res.json()[data][i][title])
12 try:
13 print(res.json()[data][i][newsTime])
14 except:
15 print(None)
16 print(res.json()[data][i][source])
17 print(res.json()[data][i][url])
18 rest[title]=res.json()[data][i][title]
19 try:
20 rest[newsTime] = res.json()[data][i][newsTime]
21 except:
22 rest[newsTime] = None
23 rest[source] = res.json()[data][i][source]
24 url = res.json()[data][i][url]
25 rest[url] = res.json()[data][i][url]
26 try:
27 driver.get(url)
28 time.sleep(4)
29 contend = driver.find_element_by_class_name(text-3zQ3cZD4).text
30 rest[contend] = str(contend)
31 print(contend)
32 driver.back()
33 time.sleep(6)
34 except:
35 print(f第i条新闻失败)
36 print(#-----------------------某些格式不符合------------------------#)
37 resAll.append(rest)
38 with open(./news.txt, a+, encoding=utf-8) as f:
39 try:
40 f.write(‘‘.join(resAll[i].values())+\n)
41 except:
42 print(写入失败)
43 
44 url = "https://shankapi.ifeng.com/spring/finance/index/newInfoIndex/75219"
45 grasp(url)
46 
47 
48 class Grasp:
49 
50 def __init__(self):
51 self.driver = webdriver.Chrome(rC:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe)
52 self.resAll = []#用于存储单条数据
53 self.rest = #用于存储单个数据
54 self.res = requests.get("https://shankapi.ifeng.com/spring/finance/index/newInfoIndex/75219")#目标链接
55 
56 def run(self):
57 for i in range(0, len(self.res.json()[data])):
58 print(self.res.json()[data][i][title]) #输出标题
59 try:
60 print(self.res.json()[data][i][newsTime]) #输出时间
61 except:
62 print(None)
63 print(self.res.json()[data][i][source]) #输出来源
64 print(self.res.json()[data][i][url]) #输出链接地址
65 self.rest[title] = self.res.json()[data][i][title] #获取标题
66 try:
67 self.rest[newsTime] = self.res.json()[data][i][newsTime] #获取时间
68 except:
69 self.rest[newsTime] = None
70 self.rest[source] = self.res.json()[data][i][source] #获取来源
71 self.url = self.res.json()[data][i][url]
72 self.rest[url] = self.res.json()[data][i][url]#获取链接地址
73 try:
74 self.driver.get(url)
75 time.sleep(4)
76 self.contend = self.driver.find_element_by_class_name(text-3zQ3cZD4).text#获取网页标签下的文本
77 self.rest[contend] = str(self.contend)#插入单条数据
78 print(f第i条新闻成功)
79 self.driver.back()
80 time.sleep(4)
81 except:
82 print(f第i条新闻失败)
83 print(#-----------------------某些格式不符合------------------------#)
84 self.resAll.append(self.rest)
85 with open(./news.txt, a+, encoding=utf-8) as f:
86 try:
87 f.write(f第i条新闻开始)
88 f.write(‘‘.join(self.resAll[i].values()) + \n) #写入数据
89 f.write(f第i条新闻结束)
90 except:
91 print(写入失败)
92 
93 g = Grasp()
94 g.run()
View Code

有写规则需要自己定义判断。

希望,帮到大家

以上是关于python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据的主要内容,如果未能解决你的问题,请参考以下文章

python3 怎么爬取新闻网站

python-爬取网络新闻

Python 网络爬虫实战:爬取南方周末新闻文章(带关键词筛选)

Python爬虫实战案例:爬取新闻资讯

基于Scrapy框架的Python新闻爬虫

Python 教你 4 行代码开发新闻网站通用爬虫