python网络爬虫(五):并发抓取

在进行单个爬虫抓取的时候,我们不可能按照一次抓取一个url的方式进行网页抓取,这样效率低,也浪费了cpu的资源。目前python上面进行并发抓取的实现方式主要有以下几种:进程,线程,协程。进程不在的讨论范围之内,一般来说,进程是用来开启多个spider,比如我们开启了4进程,同时派发4个spider进行网络抓取,每个spider同时抓取4个url。

所以,我们今天讨论的是,在单个爬虫的情况下,尽可能的在同一个时间并发抓取,并且抓取的效率要高。

一.顺序抓取
顺序抓取是最最常见的抓取方式,一般初学爬虫的朋友就是利用这种方式,下面是一个测试代码,顺序抓取8个url,我们可以来测试一下抓取完成需要多少时间:

HEADERS = {
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9',
   'Accept-Language': 'zh-CN,zh;q=0.8',
   'Accept-Encoding': 'gzip, deflate',}

URLS = ['http://www.cnblogs.com/moodlxs/p/3248890.html', 
        'https://www.zhihu.com/topic/19804387/newest',
        'http://blog.csdn.net/yueguanghaidao/article/details/24281751',
        'https://my.oschina.net/visualgui823/blog/36987',
        'http://blog.chinaunix.net/uid-9162199-id-4738168.html',
        'http://www.tuicool.com/articles/u67Bz26',
        'http://rfyiamcool.blog.51cto.com/1030776/1538367/',
        'http://itindex.net/detail/26512-flask-tornado-gevent']

#url为随机获取的一批url

def func():
    """
    顺序抓取
    """
    import requests
    import time
    urls = URLS
    headers = HEADERS
    headers['user-agent'] = "Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/45.0.2454.101+Safari/537.36"
    print(
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python网络爬虫与自动化是指使用Python编写的程序来自动化浏览网络并获取或更新网站的内容和检索方式。网络爬虫可以自动采集所有能够访问到的页面内容,以便程序进行下一步的处理。Python语言在爬虫领域非常重要,因为它简单易学,容易上手。\[1\] 爬虫架构是爬虫开发中一个重要的概念,其中Scrapy是一个非常流行的Python爬虫框架。Scrapy是一个快速、高层次的爬虫框架,用于抓取web站点并从页面中提取结构化的数据。它可以用于数据挖掘、监测和自动化测试。Scrapy的吸引力在于它是一个框架,任何人都可以根据需求方便地进行修改。它还提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等。\[3\] 在爬虫开发中,常见的任务包括页面下载与解析、URL去重、URL相似性算法、并发操作和数据存储等。通过Python编写的爬虫程序可以实现这些任务,并且可以根据具体需求进行定制和扩展。\[2\] 总之,Python网络爬虫与自动化是一种强大的工具,可以帮助我们自动化获取和处理网络上的数据。它在数据挖掘、监测和自动化测试等领域有着广泛的应用。 #### 引用[.reference_title] - *1* [Python爬虫自动化从入门到精通](https://blog.csdn.net/m0_67021058/article/details/129388869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [(2.3.2)Java爬虫](https://blog.csdn.net/fei20121106/article/details/44468647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值