特殊属性/方法

  • name: 爬虫的名字,scrapy会自动查找spiders目录下含有name属性的类
  • allowed_domains: 设置后只在允许的域名内进行爬取
  • start_urls: 入口网址
  • start_requests(): 入口函数
  • parse(): Requests默认的回调函数
  1. # 方式一: 直接解析start_urls中的网址,适合简单的GET请求
  2. # ...
  3. start_urls = ['https://blog.scrapinghub.com/']
  4. def parse(self, resposne):
  5. # do something with response ...
  1. # 方式二: 在start_requests函数中进行一些循环或传参
  2. # ...
  3. # 循环生成不同page的url,传给parse回调函数
  4. def start_requests(self):
  5. for page in range(1, 6):
  6. url = 'https://blog.scrapinghub.com/page/{}'.format(page)
  7. # callback默认为self.parse, 可自己指定其他的
  8. yield scrapy.Request(url, callback=self.parse)
  9. def parse(self, response):
  10. # do something with response ...
  11. # ...
  12. # POST方法传参
  13. def start_requests(self):
  14. for page in range(1, 11):
  15. payload = {
  16. 'display': 'All',
  17. 'page': str(page),
  18. 'limit': '10'
  19. }
  20. url = 'http://hgmdtrial.biobase-international.com/hgmd/pro/browseGene.php'
  21. yield FormRequest(url, formdata=payload, callback=self.parse)
  1. # 变量的传递