基于python的分布式、对象驱动编程框架的使用入门指南
优采云 发布时间: 2021-03-23 03:04基于python的分布式、对象驱动编程框架的使用入门指南
文章采集文章采集是在已有page的基础上,对文章进行爬取。对于初级者,如果你还没有采集page,想要快速地对站点进行爬取,可以用scrapy框架。scrapy是一个基于python的分布式、对象驱动编程框架,在scrapy的基础上增加了多个丰富的第三方模块,整合了自定义的爬虫库。创建爬虫首先我们将新建一个scrapy项目,这里以下载“豆瓣电影2017年大陆上映的电影排行榜”为例:my_scrapy_project_name=''1.1scrapy项目的管理这里,我们写一个scrapystartproject命令,这样创建的项目名就是scrapy_project。
然后,我们按照scrapyadmin的使用入门指南手动编写scrapy的admin,在我们的例子中,admin就是一个自定义的scrapy_project名称;接着我们写一个scrapystartproject的脚本:importscrapyclassmy_scrapy_project(scrapy.spider):name='my-scrapy'allowed_domains=['']defparse(self,response):urls=response.xpath('//*[@id="r_com-test"]/div/div[1]/a/div[2]/div[3]/div/div/div/div/ul/a/@dd`*`')patterns=['//*[@id="r_com-test"]/div/div[1]/div[2]/div[3]/div[4]/div/div/div/div/div/div/div/div/div/div/span']all_requests={'callback':'dog'}process_response=scrapy.fetch(urls,process_domains=process_domains)forprocess_domaininprocess_domains:ifself.url.get(process_domain)isnotnone:forkeyinprocess_domain:self.url.get(key)self.url.get('')urls.append(self.url)#ifdocument.getelementsbyclassname('submit')isnotnone:self.defdownload(self,response):self.download(response.xpath('//*[@id="download_func"]/div/div[1]/div[2]/div[3]/div/div/div/a/@dd`*`'))forscoreinself.download(score):#ifscore==0:print(score)print(self.url.get('')[0])ifscore==1:self.download(response.xpath('//*[@id="download_id"]/div/div[1]/div[2]/div。