1.什么是全站数据爬取
就是将网站中某板块下的全部页码对应的页面数据进行爬取
2.全站数据爬取方式
1.将所有网页的URL添加到start_url列表中(不推荐)
2.自行手动进行请求发送(推荐)
-手动请求发送:
yield scrapy.Requests(url,callback)
【callback专门用作于数据解析】
yield【生成器】:用于迭代操作,更简单理解就是迭代器
案例:爬取照片名称【http://www.521609.com/tuku/shz/index.html】
import scrapy
class XiaohuaSpider(scrapy.Spider):
name = 'xiaohua'
# allowed_domains = ['www.xxx.com']
start_urls = ['http://www.521609.com/tuku/shz/']
url = 'http://www.521609.com/tuku/shz/index_%d.html'
page_name = 2
def parse(self, response):
li_list = response.xpath('/html/body/div[4]/div[3]/ul/li')
for li in li_list:
name = li.xpath('./a/p/text()').extract_first()
print(name)
if self.page_name<12:
new_url = format(self.url%self.page_name)
self.page_name += 1
#手动请求发送:callback回调函数是专门用作于数据解析
yield scrapy.Request(url=new_url,callback=self.parse)