1.1 进入python官网,点击menu->downloads,网址:Download Python
1.2 根据系统选择32位还是64位,这里下载的可执行exe为64位安装包
2.1 双击打开安装包,选择自定义路径(注意安装路径中尽量不要含有有中文或者空格),然后选中Add Python 3.5 to PATH(将Python安装路径添加到系统变量Path中,这样做以后在任意目录下都可以执行pyhton命令了)
2.2 默认全选,Next
2.3 修改安装路径,勾选加上Install for all user为所有用户安装和Precompile standard library 预编译标准库,然后点击Install
2.4 等待安装完成
2.5 验证,使用快捷键win + R 或 右键开始选择运行,输入cmd回车,打开命令提示符窗口,然后输入python->回车,若出现python版本信息则软件安装完成
3.1 安装lxml库,由于直接使用pip lxml 对于3.0x以上的版本来说经常会出现版本不适应而失败,所以这里介绍直接使用whl文件安装
3.1.1 下载对应python3.5版本的lxml库,下载网址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
3.1.2 同检查python是否安装成功一样,使用快捷键win + R 或 右键开始选择运行,输入cmd回车,打开命令提示符窗口,然后
pip install E:\\demo\\lxml-3.6.4-cp35-cp35m-win_amd64.whl(下载的lxml库whl文件存放路径)
可能碰到问题,pip的版本低了,需要更新一下pip的版本。更新pip版本命令:
python -m pip install -U pip
更新完成后,再次使用pip命令:
pip install E:\\demo\\lxml-3.6.4-cp35-cp35m-win_amd64.whl
3.2 Lxml库安装成功后,环境就准备好了, 可以开始敲代码了
3.2.1引入Gooseeker规则提取器模块gooseeker.py(引入该模块的原因和价值),在自定义目录下创建gooseeker.py文件,如:这里为E:Demogooseeker.py,再以记事本打开,复制下面的代码粘贴
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 模块名: gooseeker
# 类名: GsExtractor
# Version: 2.0
# 说明: html内容提取器
# 功能: 使用xslt作为模板,快速提取HTML DOM中的内容。
# released by 集搜客(http://www.gooseeker.com) on May 18, 2016
# github: https://github.com/FullerHua/jisou/core/gooseeker.py
from urllib import request
from urllib.parse import quote
from lxml import etree
import time
class GsExtractor(object):
def _init_(self):
self.xslt = \"\"
# 从文件读取xslt
def setXsltFromFile(self , xsltFilePath):
file = open(xsltFilePath , \'r\' , encoding=\'UTF-8\')
try:
self.xslt = file.read()
finally:
file.close()
# 从字符串获得xslt
def setXsltFromMem(self , xsltStr):
self.xslt = xsltStr
# 通过GooSeeker API接口获得xslt
def setXsltFromAPI(self , APIKey , theme, middle=None, bname=None):
apiurl = \"http://www.gooseeker.com/api/getextractor?key=\"+ APIKey +\"&theme=\"+quote(theme)
if (middle):
apiurl = apiurl + \"&middle=\"+quote(middle)
if (bname):
apiurl = apiurl + \"&bname=\"+quote(bname)
apiconn = request.urlopen(apiurl)
self.xslt = apiconn.read()
# 返回当前xslt
def getXslt(self):
return self.xslt
# 提取方法,入参是一个HTML DOM对象,返回是提取结果
def extract(self , html):
xslt_root = etree.XML(self.xslt)
transform = etree.XSLT(xslt_root)
result_tree = transform(html)
return result_tree
# 提取方法,入参是html源码,返回是提取结果
def extractHTML(self , html):
doc = etree.HTML(html)
return self.extract(doc)
3.2.2 在提取器模块gooseeker.py同级目录下创建一个.py后缀文件,如这里为E:Demofirst.py,再以记事本打开,敲入代码:
# -*- coding: utf-8 -*-
# 使用gsExtractor类的示例程序
# 访问集搜客论坛,以xslt为模板提取论坛内容
# xslt保存在xslt_bbs.xml中
# 采集结果保存在result.xml中
import os
from urllib import request
from lxml import etree
from gooseeker import GsExtractor
# 访问并读取网页内容
url = \"http://www.gooseeker.com/cn/forum/7\"
conn = request.urlopen(url)
doc = etree.HTML(conn.read())
bbsExtra = GsExtractor()
bbsExtra.setXsltFromAPI(\"31d24931e043e2d5364d03b8ff9cc77e\" , \"gooseeker_bbs_xslt\") # 设置xslt抓取规则
result = bbsExtra.extract(doc) # 调用extract方法提取所需内容
# 当前目录
current_path = os.getcwd()
file_path = current_path + \"/result.xml\"
# 保存结果
open(file_path,\"wb\").write(result)
# 打印出结果
print(str(result).encode(\'gbk\',\'ignore\').decode(\'gbk\'))
3.2.3 执行first.py,使用快捷键win + R 或 右键开始选择运行,输入cmd回车,打开命令提示窗口,进入first.py文件所在目录,输入命令 :python first.py 回车
3.2.4 查看保存结果文件,进入first.py文件所在目录,查看名称为result的xml文件(即采集结果)
安装步骤还是很简单,主要需要注意的是:
对应系统版本安装;
将安装路径加入系统环境变量Path。
后面将会讲到如何结合Scrapy快速开发Python爬虫。
GooSeeker开源Python网络爬虫GitHub源
《Python即时网络爬虫项目启动说明》
2016-09-28:V1.0
2016-10-25:补充3.2.1代码