Scrapy 使用2.0
动态页面处理
Scrapy发起Request后,返回的response中往往包含了结果。如今,越来越多的网页变为经过JavaScript渲染的页面,Scrapy可以和Selenium或者Pyppeteer这类库融合使用来实线渲染页面的抓取。
案例:
实例网站: https://dynamic5.scrape.center/
该示例网站带分页功能,只需要在URL上加上/page/页码就可以跳转到下一页。
新建项目:
scrapy startproject scrapypyppeteer
进入项目,新建Spider book
cd scrapypyppeteer
scrapy genspider book dynamic5.scrape.center
修改Spider文件夹下名为spider.py的文件:
# -*- coding: utf-8 -*-
import scrapy
class BookSpider(scrapy.Spider):
name = 'book'
allowed_domains = ['dynamic5.scrape.center']
base_url = 'http://dynamic5.scrape.center/page/{page}'
max_page=10
def start_requests(self):
for page in range(1,self.max_page+1):
url=self.base_url.format(page=page)