大数据开发神器——scrapy spider爬虫框架,编写你的第一个爬虫
这几行注释的作用是Scrapy会缓存你有的Requests!当你再次请求时,如果存在缓存文档则返回缓存文档,而不是去网
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage' 这几行注释的作用是Scrapy会缓存你有的Requests!当你再次请求时,如果存在缓存文档则返回缓存文档,而不是去网站请求,这样既加快了本地调试速度,也减轻了 网站的压力 第三:定义Items 根据我们需要爬取的需要,定义我们需要的Items,我们以爬取此URL为例(一个小说网站),打开此网站,我们可以看到上面有小说的名字,作者,字数,状态等大数据爬虫,本次就先爬虫这一个界面的所有小说的名字为例 打开Items 输入如下: import scrapy class PowersItem(scrapy.Item): novelname = scrapy.Field()#小说名字 pass 以上就是scrapy的基本设置(后续会添加其他的设置,我们后续讨论) 第四:编写spider 打开我们先前建立的py爬虫powers415.py import scrapy from bs4 import BeautifulSoup #(解析request来的网页) from scrapy.http import Request #(request请求) from myproject.items import PowersItem #以上是插入scrapy以及其他使用到的第三方库 ########### class PowersSpider(scrapy.Spider): name = "powers" #爬虫的名字,必须添加爬虫的名字,这个很重要 first_url='http://www.23us.so/full.html' #定义第一个URL def start_requests(self): yield Request(self.first_url,self.parse)#返回调度器处理好的request #spider处理获取的数据,得到Items def parse(self, response): #必须有parse函数 tds = BeautifulSoup(response.text, 'lxml').find_all('tr', bgcolor='#FFFFFF')#解析 item = PowersItem() #item初始化 for td in tds: novelname = td.find('a').get_text()#获取小说名字 item['novelname'] =novelname #获取到Items print(item) pass 爬取的数据 下期预告: (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |