![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫
文章平均质量分 73
Easy_to_python
这个作者很懒,什么都没留下…
展开
-
python爬虫(四)
在写爬虫程序的时候,我们希望能够并发的抓取,而不是一次只抓取一个url。对于高并发的抓取,目前有三种方案:多进程,多线程,协程(python3.x)。论性能来说,协程最佳(异步执行),tornado就是采用了协程。另外,tornado的文档上,有一个并发的爬虫的例子。但目前我采用的是python2.7,那个例子看不懂啊。至于多进程,会消耗较多的cpu。如果电脑不错,开启多进程速度很快,但是进程有一些原创 2016-11-07 21:59:13 · 596 阅读 · 0 评论 -
python网络爬虫(一)
Python是一门高级的动态的语言,利用它进行网络数据的抓取是非常方便的。代码的实现非常的精简。在本次python爬虫中,我们将使用到以下python第三方库:requests(urllib3) 用于发起http请求,相对于python自带的urllib2模块,更加的pythonic redis-py, 连接redis服务器,用于保存待抓取的url队列 gevent 实现并发抓取,相对于pyth原创 2016-10-25 12:03:56 · 795 阅读 · 0 评论 -
python网络爬虫(二)
在第一篇中,我们介绍了如何进行发起一个http请求,并接受响应。在这一部分中,我们介绍一下如何解析网页并提取我们需要的数据。我们采用requests这个库进行一个网页请求。r = requests.get('https://www.example.com', headers, **kwargs )通过这一句代码,我们即可获得服务器传给我们的响应内容(不考虑连接错误等情况)。假设返回的是200的响应。原创 2016-10-29 20:16:30 · 1309 阅读 · 1 评论 -
python网络爬虫(三)
在第二篇中我们介绍从响应中提取结构化数据,那接下来就是需要保存数据。对于html网页(主要用于缓存)和结构化数据的保存,我选择了MySQL, 当然也可以使用NoSQL的产品, 比如mongodb;对于网页中提取出的url,我们可以保存到本地的文件中,也可以保存到MySQL或者mongodb中等,但为了高效,我选择了内存数据库redis,相对来说redis的永久存储性能要弱于MySQL等产品,但他的查原创 2016-10-31 21:40:05 · 705 阅读 · 0 评论 -
python网络爬虫(五):并发抓取
在进行单个爬虫抓取的时候,我们不可能按照一次抓取一个url的方式进行网页抓取,这样效率低,也浪费了cpu的资源。目前python上面进行并发抓取的实现方式主要有以下几种:进程,线程,协程。进程不在的讨论范围之内,一般来说,进程是用来开启多个spider,比如我们开启了4进程,同时派发4个spider进行网络抓取,每个spider同时抓取4个url。所以,我们今天讨论的是,在单个爬虫的情况下,尽可能的原创 2016-11-28 15:11:22 · 13552 阅读 · 1 评论