版权声明:随意了,开心就好。反正是给大家分享的笔记 https://blog.csdn.net/u011486491/article/details/83628844
python Scrapy框架2—数据抓取
spider中的流程
spider数据抓取
在scrapy框架中,我们通过命令
scrapy crawl itcast
去执行spiders中的python脚本。
这里的itcast 是name中的内容
两种初始化url的方法
1、常量start_urls,并且需要定义一个方法parse()
start_urls = [ #另外一种写法,无需定义start_requests方法
'http://lab.scrapyd.cn/page/1/',
'http://lab.scrapyd.cn/page/2/',
]
2、直接定义一个方法:star_requests()
def start_requests(self):
urls = [ #爬取的链接由此方法通过下面链接爬取页面
'http://lab.scrapyd.cn/page/1/',
'http://lab.scrapyd.cn/page/2/',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
处理数据
def parse(self, response):
self.log(response.url)
page = response.url.split("/")[-2]
#根据上面的链接提取分页,如:/page/1/,提取到的就是:1
filename = 'mingyan-%s.html' % page
#拼接文件名,如果是第一页,最终文件名便是:mingyan-1.html
with open(filename, 'wb') as f:
#python文件操作,不多说了;
f.write(response.body)
#刚才下载的页面去哪里了?response.body就代表了刚才下载的页面!
self.log('保存文件: %s' % filename) # 打个日志
这里的response就是请求到的数据