python Scrapy框架2—简单的数据抓取

版权声明:随意了,开心就好。反正是给大家分享的笔记 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就是请求到的数据

猜你喜欢

转载自blog.csdn.net/u011486491/article/details/83628844