php多线程抓取网页(解释一下多线程和多进程Python网络爬虫(一)(组图))

优采云 发布时间: 2022-04-14 17:14

  php多线程抓取网页(解释一下多线程和多进程Python网络爬虫(一)(组图))

  上次提到,网络爬虫是按照一定的规则自动爬取互联网信息的程序或脚本。

  我们使用的爬虫通常是出于某些需求而做的。过去,我们只能手动采集,效率极低。随着爬虫的出现,它在一定程度上替代了我们手动访问网页,实现了对有用信息的高效自动爬取。

  现在我们来谈谈爬虫需要的工具。

  很多人一提到爬虫就会想到 Python。其实Java、C/C++、C#、PHP等都可以写爬虫,但是为什么Python逐渐成为很多人写爬虫的首选呢?我总结了以下原因:

  相对而言,其他语言有一些缺点,比如:

  PHP对多线程和异步的支持不是很好,并发处理能力较弱;Java初学者入门门槛高;C/C++运行效率高,但学习和开发成本高。编写一个小型机器人可能需要很长时间。

  Python 语言有一些优点,例如:

  语法优美,代码简洁,开发效率高;支持多个第三方爬虫库,如requests、Bs4、selenium等;Python的请求模块和解析模块丰富成熟,同时还提供了强大的Scrapy框架,让编写爬虫程序更简单更简单;Python的多线程和多处理适用于实际应用场景中的大量爬取工作。

  讲解多线程多进程Python网络爬虫:

  (1)网络爬虫是一个I/O密集型程序,该程序涉及大量的网络I/O和本地磁盘I/O操作,耗费大量时间,降低了执行效率Python提供的多线程可以在一定程度上提高I/O密集型程序的执行效率。

  (2)而Python的线程适合处理I/O等需要并发的阻塞操作(比如等待I/O,等待从数据库中取数据等)。大部分爬虫的时间在网络交互上,所以你可以使用多个线程来编写爬虫。

  (3)在Python中,当你想提高执行效率的时候,大部分开发者都是通过写多进程多进程来提高运行效率的。所以你也可以写多进程爬虫来爬取信息,当然,缺点是是它占用内存。

  附上各大主流语言的转载爬虫框架,可以参考:

  

  图片为转载,出处见水印

  下面列出了爬虫的环境准备:

  1、安装Python;

  2、安装 Pycharm 或任何 Python IDE;

  3、根据需要安装以下 Python 库或框架:(pip install package_name)(安装失败请看)

  4、安装数据库:mysql;

  5、安装数据库管理软件navicat或sqlyog;

  6、安装谷歌浏览器(chrome);

  这里有更多的技术选择:

  1、请求与硒

  2、请求 + Beautifulsoup VS Scrapy

  转载了 Beautifulsoup 和 Scrapy 的对比:

  

  从:

  参考:

  /python/python-multithreading.html

  /qq_40244755/article/details/90043484

  /python_spider/what-is-spider.html

  /sss4/p/7813379.html

  欢迎来到我的专栏玩~

  另外,我的Python网络爬虫学习过程分享帖也在连载中,欢迎小伙伴们关注,一起学习交流~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线