爬虫
daidaixiong1234
如果我写的对你有用,记得踩一下哦~~~
展开
-
Scrapy请求对象参数 & 给callback函数传附加数据 & Form请求 & Scrapy Resonse对象
Scrapy请求对象参数 & 给callback函数传附加数据 & Form请求 & Scrapy Resonse对象原创 2015-09-09 16:50:16 · 11175 阅读 · 0 评论 -
scrapy设置代理proxy
http://stackoverflow.com/questions/4710483/scrapy-and-proxies增加文件middlewares.py放置在setting.py平行的目录下import base64class ProxyMiddleware(object):# overwrite process requestdef process_request原创 2016-03-24 16:50:11 · 15295 阅读 · 2 评论 -
python string转为dict --- json.loads
import jsoncontent = "{\"Location\":{\"Store\":{\"StoreRegionID\":300,\"StoreGroupID\":394,\"StoreDistrictID\":340},\"TypeDescription\":\"Store\",\"AlternateIdentifier\":{\"TypeDescription\":\"L原创 2015-10-14 19:20:05 · 7568 阅读 · 0 评论 -
使用scrapy-redis分布式爬虫 准备工作
环境: ubuntu 14.04需要Scrapy >= 1.0.0, redis-py >= 2.10.0, redis server >= 2.8.01. 安装redis server参考http://redis.io/download$ wget http://download.redis.io/releases/redis-3.0.4.tar.gz$ tar原创 2015-09-26 09:51:44 · 7803 阅读 · 0 评论 -
python模块imghdr读图片后缀名
爬数据的时候常常遇到img标签的src中不包含图片的后缀名,如http://photos.prnewswire.com/prn/20100819/LA52539LOGO所示,这时通过imghdr模块就能够把图片的后缀名读出来例子:import urllib2import imghdrurl = 'http://photos.prnewswire.com/prn/20100原创 2015-09-24 17:17:16 · 7965 阅读 · 0 评论 -
Scrapy Redis源码 spider分析
下载的scrapy-redis源码中的spiders.py源码非常分析:RedisSpider继承了Spider和RedisMixin这两个类,RedisMixin是用来从redis读取url的类。当我们生成一个Spider继承RedisSpider时,调用setup_redis函数,这个函数会去连接redis数据库,然后会设置signals,一个是当spider空闲的时候(signal)原创 2015-09-19 10:40:44 · 8891 阅读 · 0 评论 -
scrapy爬虫防止被禁止 User Agent切换
http://doc.scrapy.org/en/1.0/topics/practices.html#bans1. User Agent轮换2. 禁Cookie3. 设置大于2s的DOWNLOAD_DELAY4. 使用Google Cache (不懂)5. 使用轮换IP(还不会)6. 使用分布式下载器(不知道scrapy-redis算不算)User Agen原创 2015-09-18 13:19:07 · 25147 阅读 · 1 评论 -
scrapy settings --- 为每一个spider设置自己的pipeline
通常我们需要把数据存在数据库中,一般通过scrapy的pipeline机制实现。也算是刚用scrapy不久吧,每次写了新的pipeline,我都在project的settings中设置ITEM_PIPELINES,感觉特别麻烦,有时候还忘了。也喵到过settings有5种类型,什么Command line options (most precedence)、Settings per-spide原创 2015-09-18 10:59:03 · 18206 阅读 · 2 评论 -
Scrapy爬虫 捕获403状态码抛出CloseSpider异常
1、爬数据的时候,有时会遇到被该网站封IP等情况,response的状态码为403,那么这时候我们希望能够抛出CloseSpider的异常。2、但是如scrapy官网提到的,Scrapy默认的设置是过滤掉有问题的HTTP response(即response状态码不在200-300之间)。因此403的情况会被ignore掉,意思就是我们不是处理这个url 请求的response,直接就忽略原创 2015-09-17 19:33:16 · 19653 阅读 · 0 评论 -
转载 ------------- scrapy 中判断重复内容的方法(RFPDupeFilter)
转载于http://www.leyle.com/archives/scrapy_dupefilter.htmlscrapy 中判断重复内容的方法(RFPDupeFilter)作者:代码猴 时间:April 15, 2015 分类:pythonscrapy 中判断重复内容的方法(RFPDupeFilter)爬虫抓取数据时,重复肯定是存在的,scrapy转载 2015-09-26 10:38:31 · 16324 阅读 · 0 评论 -
Scrapy Exceptions
1. DropItem,只能在item pipeline中使用2. CloseSpiderdef parse_page(self, response): if 'Bandwidth exceeded' in response.body: raise CloseSpider('bandwidth_exceeded')3. IgnoreRequest原创 2015-09-09 17:56:31 · 6078 阅读 · 0 评论 -
Scrapy Settings级别 & 如何获取settings & 一些可能用到的setting
http://doc.scrapy.org/en/1.0/topics/settings.html一、有5中类型的Settings,优先级由高到低1. 命令行选项使用-s复写设置,如scrapy crawl myspider -s LOG_FILE=scrapy.log2. 每个spider的settingscrapy.spiders.Spider.custom_set原创 2015-09-09 17:04:46 · 16196 阅读 · 0 评论 -
scrapy xpath取包含某些特定文字的选择器,获取一个标签下的所有text(包括自身和子孙)
http://blog.scrapinghub.com/2014/07/17/xpath-tips-from-the-web-scraping-trenches/原创 2015-09-22 14:47:25 · 17831 阅读 · 0 评论