西西软件园多重安全检测下载网站、值得信赖的软件下载站!
西西首页 常用软件 软件下载 安卓软件 游戏下载 安卓游戏 MAC应用 驱动下载 安卓电视
系统工具网络工具媒体工具图形图像聊天工具应用软件编程开发手机软件安卓应用电脑安全字体素材

每日新闻(爬取新闻)

V1.1免费版
  • 每日新闻(爬取新闻)V1.1免费版
  • 软件大小:13.6M
  • 更新时间:2023-03-01 14:49
  • 软件语言:中文
  • 软件厂商:
  • 软件类别:国产软件 / 免费软件 / 浏览辅助
  • 软件等级:3级
  • 应用平台:WinAll
  • 官方网站:暂无
好评:50%
坏评:50%

软件介绍

每日新闻(爬取新闻)是一款python爬虫之抓取网页新闻标题与链接的工具,每天上班想看看新闻,于是Python打包了一个可以一键点击查看新闻的exe,现在目的就是爬取有关这个关键词的网页文章,如题目、媒体、日期、内容、url。

软件说明

利用python写爬虫的人越来越多,这也表明了用python写爬虫相比其它语言用起来更方便一些。很多新闻网站都没有反爬虫的策略,所以爬取新闻网站的数据就更加方便。

异步爬虫实现的流程

1 新闻源列表

本文要实现的异步爬虫是一个定向抓取新闻网站的爬虫,所以就需要管理一个定向源列表,这个源列表记录了很多我们想要抓取的新闻网站的url,这些url指向的网页叫做hub网页,它们有如下特点:

它们是网站首页、频道首页、最新列表等等;

它们包含非常多的新闻页面的链接;

它们经常被网站更新,以包含最新的新闻链接;

它们不是包含新闻内容的新闻页面;

Hub网页就是爬虫抓取的起点,爬虫从中提取新闻页面的链接再进行抓取。Hub网址可以保存在MySQL数据库中,运维可以随时添加、删除这个列表;爬虫定时读取这个列表来更新定向抓取的任务。这就需要爬虫中有一个循环来定时读取hub网址。

2 网址池

异步爬虫的所有流程不能单单用一个循环来完成,它是多个循环(至少两个)相互作用共同完成的。它们相互作用的桥梁就是“网址池”(用asyncio.Queue来实现)。

这个网址池就是我们比较熟悉的“生产者-消费者”模式。

一方面,hub网址隔段时间就要进入网址池,爬虫从网页提取到的新闻链接也有进入到网址池,这是生产网址的过程;

另一方面,爬虫要从网址池中取出网址进行下载,这个过程是消费过程;

两个过程相互配合,就有url不断的进进出出网址池。

3 数据库

这里面用到了两个数据库:MySQL和Leveldb。前者用于保存hub网址、下载的网页;后者用于存储所有url的状态(是否抓取成功)。

从网页提取到的很多链接可能已经被抓取过了,就不必再进行抓取,所以他们在进入网址池前就要被检查一下,通过leveldb可以快速查看其状态。

3. 异步爬虫的实现细节

前面的爬虫流程中提到两个循环:

循环一:定时更新hub网站列表

async defloop_get_urls(self,):print('loop_get_urls() start')while 1:

await self.get_urls()#从MySQL读取hub列表并将hub url放入queue

await asyncio.sleep(50)

循环二: 抓取网页的循环

async defloop_crawl(self,):print('loop_crawl() start')

last_rating_time=time.time()

asyncio.ensure_future(self.loop_get_urls())

counter=0while 1:

item=await self.queue.get()

url, ishub=item

self._workers+= 1counter+= 1asyncio.ensure_future(self.process(url, ishub))

span= time.time() -last_rating_timeif span > 3:

rate= counter /spanprint('\tloop_crawl2() rate:%s, counter: %s, workers: %s' % (round(rate, 2), counter, self._workers))

last_rating_time=time.time()

counter=0if self._workers >self.workers_max:print('====== got workers_max, sleep 3 sec to next worker =====')

await asyncio.sleep(3)

更新说明

已更新排版好的exe

软件截图

每日新闻(爬取新闻) V1.1免费版

    其他版本下载

    发表评论

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲

    下载帮助下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。

    TOP
    软件下载