我想设置Scrapy
Python库,使其遍历所有http://www.domain.com/classifieds/something/?pg=<page>
个网页,<page>
来自1 to 200
,收集所有形式的网址{{ 1}},其中http://www.domain.com/classifieds/something/view/<number>/
是一个长数字,最后通过<number>
Python库检索那些urls
的html代码?
答案 0 :(得分:0)
定义CrawlSpider
。在start_requests
内启动请求,并定义Rule
,LinkExtractor
指向classifieds/something/view/<number>/
链接格式:
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
class MySpider(CrawlSpider):
allowed_domains = ['www.domain.com']
rules = [
Rule(LinkExtractor(allow=r'classifieds/something/view/\d+/'), callback='parse_page')
]
def start_requests(self):
base_url = 'http://www.domain.com/classifieds/something/?pg='
for page in xrange(1, 201):
yield scrapy.Request(base_url + str(page))
def parse_page(self, response):
print response.body # contains HTML code of the page
我在这里没有看到使用requests
的重点,Scrapy
本身可以处理您所描述的内容。