包返回报文的编码来源于HTTP协议所访问的网站,在http协议的头部会写明编码格式。
譬如 如下代码:
r=requests.get('http://www.baidu.com')
print r.headers['Content-Type']
输出:
text/htmlcharset=UTF-8
这里表明了应答报文的utf-8格式。
scrapy.Request也是一样。
2、如果返回的charset=gbk2312,你可以根据你的代码需要,确定是否转码成你需要的编码。
r=requests.get('http://www.baidu.com')
print r.content[:1000].decode('utf-8')
print r.content[:1000].decode('utf-8').encode('gbk')
1.scrapy的启动在对应的目录下:
如果在启动过程中出现"win32api"的错误 则pip install pypiwin32
2.正则表达式:
"""
^ 表示以什么开始如:^b表示以b字母开头
. 表示任意字符
* 表示前面的字符可以出现任意多次
$ 表示以什么结束如:3$表示以3结尾
? 表示非贪婪模式,正则表达式默认的是贪婪模式,贪婪模式是从后往前匹配
+ 表示前面的字符至少出现一次
{3}出现的次数 {3,}至少出现3次{3,5}至少出现3次最多5次
|表示或关系
\s 表示空格\S不为空格可以
\w表示[A-Za-z0-9]\W表示不为\w可以
[\u4E00-\u9FA5]表示汉字如line="study in 南京大学"reg=".*?([\u4E00-\u9FA5]+大学)"
\d表示数字
s.decode("gb2312").encode("utf-8")
encode 前面必须是unicode编码
decode是对前面("")格式转化为unicode
python3 不需要在声明,默认全部是unicode
"""
scrapy,需要安装scrapy的一些依赖包,以现有机子环境为例说明一些安装过程系统:win7 64bit
安装步骤:
1.先安装Python,机子是64位的,所以Python最好安装64位的,不然依赖包安装出错,下载的是2.7版本。
2.安装scrapy依赖包,下载对应的Python2.7 64位版本:
pywin32;
Twisted:;
zope.interface;
lxml;
pyOpenSSL;
这些软件应用通过百度可以查询的到。
3.安装scrapy,可以直接下载scrapy回来通过setup.py install安装,也可以通过eazy_install scrapy安装,后面这种安装需要先安装eazy_install.py,安装完成后 在控制台输入scrapy,有信息输出说明安装成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)