摘要: 配置 阅读全文
posted @ 2018-09-25 20:05 brady-wang 阅读(552) 评论(0) 推荐(0)
摘要: 第二种方式 写一个自己的randomUseragent中间件 并且在setting里面启用 ,但是要修改顺序靠前,比如100 或者直接把默认启用的user_agent 设置为None 第三种方式 直接继承默认的userAgent中间件,然后改写方法 中间件可以用faker来实现 或者自己招个列表也可 阅读全文
posted @ 2018-09-25 19:38 brady-wang 阅读(358) 评论(0) 推荐(0)
摘要: 新建run.py 添加上面代码 阅读全文
posted @ 2018-09-25 17:49 brady-wang 阅读(407) 评论(0) 推荐(0)
摘要: normalize,字面意思就是正规化 加入space 大概意思就是空格的处理了 官方解释是这样的: 通过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。如果省略了该参数,上下文节点的字符串值将标准化并返回。 刚好在实际项目中碰到了这样的一个问题, 定位一个下来的时候,最开始的时候 阅读全文
posted @ 2018-09-25 17:42 brady-wang 阅读(4142) 评论(0) 推荐(0)
摘要: 总体功能的一个演示 我们可以看出response使用起来确实非常方便,这里有个问题需要注意一下:很多情况下的网站如果直接response.text会出现乱码的问题,所以这个使用response.content这样返回的数据格式其实是二进制格式,然后通过decode()转换为utf-8,这样就解决了通 阅读全文
posted @ 2018-09-25 15:10 brady-wang 阅读(628) 评论(0) 推荐(0)
摘要: scrapy下使用item才是正经方法。在item中定义需要保存的内容,然后在pipeline处理item,爬虫流程就成了这样: 抓取 --> 按item规则收集需要数据 -->使用pipeline处理(存储等) 定义item,在items.py中定义抓取内容 我们将数据库的配置信息保存在setti 阅读全文
posted @ 2018-09-25 14:47 brady-wang 阅读(609) 评论(0) 推荐(0)
摘要: scrapy错误:yield scrapy.Request()不执行、失效、Filtered offsite request to错误。首先我们在Request()方法里面添加这么一个东东:yield Request(url, callback=self.parse_item, dont_filte 阅读全文
posted @ 2018-09-25 14:14 brady-wang 阅读(2488) 评论(0) 推荐(0)
摘要: 一、首先我们来看scrapy spider如何打开页面:要打开页面,我们用的是手,同样scrapy也有一个得力助手:spider;至于spider如何打开页面,且听我娓娓道来,如果一上来就噼里啪啦的给诸位说scrapy spiders需要继承神马类、神马方法、神马常量,我想很多喷油都会觉得莫名其妙, 阅读全文
posted @ 2018-09-25 14:08 brady-wang 阅读(989) 评论(0) 推荐(0)