Scrapy使用心得


1.递归调用网址。

要使用

from scrapy.http import Request
yield Request(url)

主要是要在parse函数中返回一个Request对象。 其中注意yield关键词,此关键词的作用是返回某个对象后继续执行。如果不用该关键字,则直接会在函数中返回。


2. 编码问题 exceptions.LookupError: unknown encoding: cp65001

此参考http://stackoverflow.com/questions/878972/windows-cmd-encoding-change-causes-python-crash
简而言之,cp65001是utf8的别名,但是python却不认这个别名
可以在代码中添加

import codecs
codecs.register(lambda name: name == 'cp65001' and codecs.lookup('utf-8') or None)


3.scrapy自带的url提取函数

通过SgmlLinkExtractor来实现,具体代码如下

from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
lx = SgmlLinkExtractor()
urls = lx.extract_links(response)

4.使用ImagesPipeline

使用ImagesPipeline 时需要安装Python Imaging Library
地址http://www.pythonware.com/products/pil/


5.关于64位windows下安装scrapy

别人用的64位机子,安装起来问题很多。Scrapy提供了如何在64位电脑上安装的指南https://github.com/scrapy/scrapy/wiki/How-to-Install-Scrapy-0.14-in-a-64-bit-Windows-7-Environment

此外如果有些包装不上的话可以去Unofficial Windows Binaries for Python Extension Packages下载对应的包

http://www.lfd.uci.edu/~gohlke/pythonlibs/

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值