scrapy
zhengxiangwen
这个作者很懒,什么都没留下…
展开
-
scrapy定时执行抓取任务
当我们写好抓取数据的脚本.py文件时,需要输入命令:scrapy crawl projectName 来执行。那么怎么做一个定时器,让这个.py脚本进行定时执行呢?步骤如下:1、写一个shell脚本,加入命名为test.sh内容如下:#! /bin/sh export PATH=$PATH:/usr/local/bin#进入.py脚本所在目录cd /data/apps/sc转载 2017-02-19 17:01:38 · 6729 阅读 · 2 评论 -
scrapy 在不同的Request之间传递参数的办法
scrapy 在不同的抓取级别的Request之间传递参数的办法下面的范例中,parse_item方法通过meta向parse_details方法中传递参数item,这样就可以在parse_details方法中获取到这个参数的值。注意:meta={'item': item}中如果有多个参数,则每个参数间用英文逗号隔开,例如:meta={'item': item,'item2': item2转载 2017-02-15 01:14:39 · 7748 阅读 · 0 评论 -
利用scrapy-splash爬取JS生成的动态页面
目前,为了加速页面的加载速度,页面的很多部分都是用JS生成的,而对于用scrapy爬虫来说就是一个很大的问题,因为scrapy没有JS engine,所以爬取的都是静态页面,对于JS生成的动态页面都无法获得。解决方案: 利用第三方中间件来提供JS渲染服务: scrapy-splash 等。 利用webkit或者基于webkit库Splash是一个Javascript转载 2017-02-16 00:27:19 · 3339 阅读 · 0 评论 -
scrapy 一次性提取多层嵌套标签的所有文本
怎样才能一次性提取多层嵌套标签的所有文本,而不是通过循环判断来进行拼接呢。详细如下:假如页面如下:helloworld!我要的提取结果是:helloworld!这里就需要注意text()的使用了:首先设置sel = Selector(text=doc, type='html')#如果text()前面使用一个反斜杠:sel.xpath("//p[@id='test']原创 2017-06-28 23:48:56 · 8298 阅读 · 0 评论 -
scrapy爬虫基础知识
一、路径表达式 Harry Potter J K. Rowling 2005 29.99 单斜杠和双斜杠的使用:bookstore/book 选取属于 bookstore 的子元素的所有 book 元素。//book 选取所有 book 子元素,而不管它们在文档中的位置。bookstore//book 选择属于 bookstor转载 2017-07-14 01:47:44 · 667 阅读 · 0 评论 -
scrapy基础知识之发送POST请求
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求。如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url。例如:class mySpider(scrapy.Spider): # start_urls原创 2017-07-20 02:05:18 · 11528 阅读 · 0 评论