一、一个简单的百度贴吧小爬虫
上章我们知道了如何得到cookie、HTTP返回码、表单的处理等,接下来我们用urllib2对百度贴吧进行实际简单爬虫操作
# -*- coding: utf-8 -*-
import string, urllib2
#定义百度函数
def baidu_tieba(url,begin_page,end_page):
for i in range(begin_page, end_page+1):
sName = string.zfill(i,5) + '.html'#自动填充成六位的文件名
print '正在下载第' + str(i) + '个网页,并将其存储为' + sName + '......'
f = open(sName,'w+')
m = urllib2.urlopen(url + str(i)).read()
f.write(m)
f.close()
#-------- 在这里输入参数 ------------------
# 这个是山东大学的百度贴吧中某一个帖子的地址
#bdurl = 'http://tieba.baidu.com/p/2296017831?pn='
#iPostBegin = 1
#iPostEnd = 10
bdurl = str(raw_input(u'请输入贴吧的地址,去掉pn=后面的数字:\n'))
begin_page = int(raw_input(u'请输入开始的页数:\n'))
end_page = int(raw_input(u'请输入终点的页数:\n'))
#-------- 在这里输入参数 ------------------
#调用
baidu_tieba(bdurl,begin_page,end_page)
运行结果:
二、爬虫框架Scrapy
前面十章我们了解了一些简单的python爬虫知识,
用来解决简单的贴吧下载,绩点运算自然不在话下。
不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点。
于是乎,爬虫框架Scrapy+Python,Scrach这个单词是抓取的意思,
暂且可以叫它:小抓抓吧。
小抓抓的官网地址:点我点我。
那么下面来简单的演示一下小抓抓Scrapy的安装流程。
具体流程参照:官网教程。
友情提醒:一定要按照Python的版本下载,要不然安装的时候会提醒找不到Python。
下列windows下:
详情请看原博客下列linux下:
1.安装python
yum install python
2.安装lxml
lxml是一种使用python编写的库,可以迅速、灵活的处理XML。点击这里选择对应的python版本安装。
3.安装setuptools
用来安装egg文件,点击这里下载python2.7对应版本的setuptools。
4.安装zope.interface
可以使用第三步下载的setuptools来安装egg文件,现在也有exe版本,点击这里下载。
5.安装Twisted
Twisted是用python实现的基于事件驱动的网络引擎框架,点击这里下载。
6.安装pyOpenSSL
pyOpenSSL是python的OpenSSL接口,点击这里下载。
7.安装win32py
提供win32api,点击这里下载。
8.安装Scrapy
终于到了几动人心的时候了!安装了那么多小部件之后终于轮到主角登场。
直接在terminal中输入easy_install scrapy回车即可。
9.检查安装
在终端中输入import scrapy命令。得到下列页面,表示环境配置成功。
python 安装scrapy常见错误:
Fedora下:
一、致命错误:libxml/xmlversion.h:没有那个文件或目录yum install libxml2-devel
ln -s /usr/include/libxml2/libxml /usr/include/libxml
二、致命错误:libxslt/xsltconfig.h:没有那个文件或目录
yum install libxslt-devel
Ubuntu下:
一、致命错误:libxml/xmlversion.h:没有那个文件或目录apt-get install libxml2-dev
ln -s /usr/include/libxml2/libxml /usr/include/libxml
二、致命错误:libxslt/xsltconfig.h:没有那个文件或目录
apt-get install libxslt-dev