当前标签 / 爬虫 / 总共2篇

Python 多线程和多进程爬虫

前面的 《Python 的网络请求 Requests 模块使用》 我们已经对爬虫的基本过程有了了解,而且整个过程比较顺畅,容易理解,但是很多情况下我们的爬取工作并不是如此轻松的,我们可能会面临一些特殊情况,例如今天要说的速度问题,如果有大量的页面需要爬取,我们还使用单一线程就很慢了。

多线程爬虫

我们先不考虑特别大型的爬取,本文所有的思路都是基于满足个人需求的中型爬取需要。我们可以使用多线程来并行爬取,这样就可以成倍的提高爬取速度。

我们先来感受一下如何使用多线程:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import _thread
import time

def print_time(threadName, delay):
    count = 0
    while count < 3:
        time.sleep(delay)
        count += 1
        print(threadName, time.ctime())

_thread.start_new_thread(print_time, ("Thread-1", 1))
_thread.start_new_thread(print_time, ("Thread-2", 2))

阅读更多

Python 经典开源爬虫案例

下面是我整理的一些 GitHub 上面经典的开源爬虫项目,涵盖的比较全面,供大家学习使用。

WechatSogou

微信公众号爬虫

基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。

GitHub 地址:https://github.com/Chyroc/WechatSogou

DouBanSpider

豆瓣读书爬虫

可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到 Excel 中,可方便大家筛选搜罗,比如筛选评价人数 >1000 的高分书籍;可依据不同的主题存储到 Excel 不同的 Sheet ,采用User Agent 伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。

GitHub 地址:https://github.com/lanbing510/DouBanSpider

阅读更多