猜您喜欢:
平时喜欢浏览新闻资讯的朋友如果想快速查看网页中的新闻内容,可以通过小编带来的这款每日新闻爬取软件来实现采集的操作,这是一个由python语言编写的爬虫工具,能够帮助用户轻松获取新闻网站中的数据,包括题目、内容、url等等,操作很简单,让用户直观地看到每天的新闻。
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)
软件具备了强大的新闻网站爬取功能,可以用来采集新闻数据,直接一键将网页中的内容爬取出来,方便用户更好地查看每天的新闻资讯,免费绿色无广告。
上文就是小编为您带来的每日新闻(爬取新闻)了,更多精彩软件请多多关注非凡软件站。
浏览辅助软件大全 平时上网经常会有各种不方便的地方,影响我们的上网体验,今天小编整理了一些浏览辅助软件,能够帮助用户在浏览网站时更加的方便轻松,包含多种不同的类型,喜欢上网的朋友们快来进行挑选吧!
对于老年朋友而言,一款操作简单、界面清晰的手机使用起来会更加得心应手。华为手机就提供了贴心的老年模式,下面就为大家详细介绍如何开启。一、进入设置首先,在手机主屏幕上找到“设置”图标并点击打开。这是开启老年模式的入口,在这里可以对手机的各种功能进行调整。二、寻找
小米手机云同步为用户提供了便捷的数据备份与同步服务,但有时我们可能并不需要它持续运行。那么,该如何关闭小米手机云同步呢?下面就为大家详细介绍。首先,打开手机的“设置”应用。在众多设置选项中,找到“小米账号”并点击进入。这是整个操作的关键入口。进入“小米账号”页
iphone16对比iphone15:全方位升级与差异解析性能提升iphone16预计会搭载更先进的a系列芯片,性能将有显著飞跃。相比iphone15,其cpu运算速度更快,多任务处理更加流畅,能轻松应对各类复杂应用和游戏。gpu性能增强,图形渲染更出色,为用
在日常使用小米手机进行录屏时,有时我们需要对屏幕中的某些内容进行隐私保护或模糊处理,这就需要用到添加马赛克的功能。下面就来详细介绍一下小米手机录屏添加马赛克的方法。一、录屏前添加马赛克1.如果想要在录屏开始前就对特定区域添加马赛克,可先打开手机中的“相册”应用
在日常生活中,我们可能会遇到荣耀手机锁屏密码忘记的情况,这确实会让人有些着急。别担心,下面为您介绍几种有效的解决方法。尝试常用密码仔细回想一下,您是否设置了一些比较简单且常用的数字组合作为密码,比如生日、纪念日等。逐一尝试这些可能的密码,看是否能够解锁手机。使
在当今的视频创作中,添加字幕已经成为了一项重要的元素,而字幕滚动效果则能为视频增添独特的视觉魅力。下面就来详细介绍一下在剪映中制作字幕滚动的方法。首先,打开剪映软件并导入你需要添加字幕的视频素材。接着,点击视频轨道上方的“文本”按钮。然后,在视频画面中合适的位
本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系
(版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系
!
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士或QQ电脑管家的有关提示,请自行注意选择操作。