scrapy runspider somefile.py -o xx.csv
1-在somefile.py文件中找到已经定义的爬虫,然后通过抓取引擎运行爬虫。
我们在文件中显然定义的是我们想要的内容,所以我们需要我们目标地址,地址中我们需要的对象,以及其他的细节。
2-使用start_urls作为初始url生成request,并默认把他作为回调函数。
3-在parse中采用css选择器获得目标URL,并注册parse_question作为目标URL的回调函数。
从这两步可以感觉到,每一个URL都是需要有一个回调函数的,不同的回调函数显然可以执行不同的功能。
背后处理:
请求被异步的调度、处理。有一些参数可以控制过程,不如每个域名/ip的并发请求数、请求之间的下载延迟等。
- - - - -- - - - -- - - -- - -- - - - -- - - - -- - -- - - -- - -- - - - - - - -- -
scrapy是专门为了抓取结构化的数据而编写的一个数据抓取框架,整个框架大概分为五个部分,包括scrapy,调度器,下载器,spider,pipeline。恩,有一个英文忘记了。
具体的抓取过程是,scrapy引擎作为一个处理中心,首先要从调度器中取出URL作为抓取的目标URL,然后将这个URL解析成一个request,将这个request传给下载器,下载器把下载下来的东西作为response,response传给实体管道pipeline,管道解析这个包,把其中的URL再传给调度器,直到最后调度器中没有URL,数据抓取结束。