import requestsfrom selenium import webdriverimport timedef grasp(urlT):    driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') #自动化测试程序工具本地所在地    resAll = []         #用于存储单条数据    rest = {}           #用于存储单个数据    urls = []    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'])        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(f'第{i+1}条新闻结束')            time.sleep(6)        except:            rest['contend'] = '嵌套'            time.sleep(6)            l = driver.find_elements_by_xpath("//p[@class='text-3YbAxaNR']")  #获取连接个数            s = driver.find_elements_by_xpath("//p[@class='text-3YbAxaNR']/a") #获取当前页面所有链接            for j in range(0,len(l)):                ss = s[j].get_attribute('href')                print(type(ss))                try:                    urls.append(str(str(ss).split()).replace('"','').replace("'","").replace('[','').replace(']','')) #将链接转化为可以存储的字符串                    print(urls)                except:                    print(driver.find_element_by_class_name('topic-3bY8Hw-9').text) #输出标题        resAll.append(rest)        with open('./news.txt', 'a+', encoding='utf-8') as f:                try:                    f.write(''.join(resAll[i].values())+'\n')                except:                    print('写入失败')

    resAll.clear()    print(urls)    for k in range(0,len(urls)):        try:            driver.get(urls[k])            # time.sleep(3)            rest['title1'] = driver.find_element_by_class_name('topic-3bY8Hw-9').text            rest['source1'] = driver.find_element_by_class_name('source-2pXi2vGI').text            rest['newsTime1'] = driver.find_element_by_xpath('//p[@class="time-hm3v7ddj"]/span').text            rest['contend1'] = driver.find_element_by_class_name('text-3zQ3cZD4').text            resAll.append(rest)            time.sleep(4)            with open('./news.txt', 'a+', encoding='utf-8') as f:                time.sleep(5)                f.write(''.join(resAll[k].values()) + '\n')        except:            print('内容太多,服务器禁止')

url = "https://shankapi.ifeng.com/spring/finance/index/newInfoIndex/75219" #凤凰网财经的apit = grasp(url)

转载于:https://www.cnblogs.com/superSmall/p/11528066.html

爬取凤凰网站财经类的新闻,函数时编程,可全部实现,由于内容量大,需要时间太长,服务器会禁止,为了防止,可以将time.sleep()设置的时间长点...相关推荐

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

    importrequestsfrom selenium importwebdriverimporttimedefgrasp(urlT): driver= webdriver.Chrome(r'C:\P ...

  2. 在anaconda下创建我的第一个scrapy爬虫——爬取dmoz网站某一网址下的目录的链接名称以及链接地址...

    这里我用的python工具是anaconda. 1.首先创建一个scrapy工程: 打开anaconda promt命令行(注意这里不是使用cmd打开windows下的命令行),进入到需要创建工程的目 ...

  3. 利用自定义函数实现批量爬取多家公司的新闻

    1 需求 利用自定义函数实现批量爬取多家公司的新闻. 2 代码实现 from selenium import webdriver import redef dongfang(company):chro ...

  4. 爬虫实战:过年你被催婚啦吗?爬取相亲网站,看看当下年轻小姐姐的择偶观。

    前言 到了一定年龄,父母可能会催你找女朋友,结婚. 大多数的父母催婚,是父母渐渐老了,想让你找个人照顾你,有热饭吃,生病了有人照顾.在外面不被人欺负. 当然,也有一部分来自周围人的压力,跟你同龄的孩子 ...

  5. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  6. python壁纸数据抓取_python 多线程爬取壁纸网站的示例

    基本开发环境 ・ Python 3.6 ・ Pycharm 需要导入的库 目标网页分析 网站是静态网站,没有加密,可以直接爬取 整体思路: 1.先在列表页面获取每张壁纸的详情页地址 2.在壁纸详情页面 ...

  7. python第一个项目:爬取一个网站的所有图片

    目的:爬取一个网站的所有图片 调用库:requests库,BeautifulSoup库 程序设计: 1.函数getHTML():用于获取url的html文本 代码如下 def getHTML(url) ...

  8. python爬取小说网站资源_利用python的requests和BeautifulSoup库爬取小说网站内容

    1. 什么是Requests?html Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库.python 它比urlli ...

  9. Python爬取小说网站下载小说

    1前言 这个小程序是用来爬取小说网站的小说的,一般的盗版小说网站都是很好爬取的 因为这种网站基本没有反爬虫机制的,所以可以直接爬取 该小程序以该网站http://www.126shu.com/15/下 ...

最新文章

  1. 钉钉小程序数据传递——子传父,父传子
  2. 都是套路:高并发系统的降级特技
  3. 【C语言简单说】三:浮点数变量和字符变量(4)
  4. Python_urllib
  5. angular引用bootstrap_angular怎么引入bootstrap?
  6. PyQt5教程——组件(7)
  7. jfinal后台获取权限树,以供前台展示
  8. 【Linux】学习历程
  9. 识别中文_中文场景文字识别大赛官方baseline
  10. 为什么Go比Java快这么多?看完这个例子就懂!
  11. 使用 WordPress 自定义字段功能为文章添加下载按钮
  12. qt中socket通信流程图_Qt学习 之 Socket通信
  13. Windows10安装 virtualbox虚拟机
  14. 新 Nsight Graph、Nsight Aftermath 版本中的性能提升和增强功能
  15. 动态调试|Maccms SQL 注入分析(附注入盲注脚本)
  16. 安卓python编辑器-10 个平板电脑上的 Python 编辑器
  17. ZCMU - 1919: kirito‘s 星爆气流斩
  18. SX1278与STM8L
  19. Java正确获取星期Calendar.DAY_OF_WEEK
  20. Android 基础知识4-3.8 SeekBar(拖动条)详解

热门文章

  1. 用c语言实现打印乘法口诀表
  2. 一篇文章读懂摄像头帧率、码流、分辨率的关系
  3. 浅谈 Linux 内核开发之网络设备驱动[转]
  4. Java图形化界面编程超详细知识点(8)——列表框
  5. Python--pygame.Rect
  6. 用程序来模拟Alt+PrtSc的键盘事件,实现截屏功能
  7. Android win10 平板 省电,小编解答win10系统Mobile设置更省电的图文办法
  8. 阿里云共享流量包是用来干什么的?
  9. 思科交换机配置:三层交换机技术
  10. [Java] 超简图床(Java版) —— 专为Api而生