1. 程式人生 > >scrapy初試水 day03(遞歸調用)

scrapy初試水 day03(遞歸調用)

esp star obj amp result yield 滿足 jobs rom

import scrapy
from scrapy.http import Request
from scrapy.spider import Rule
from scrapy.linkextractors import LinkExtractor
# yield 就是return返回的是一個生成器
# 遞歸:1.修改allowed_domains,裏面不能隨便寫,和正則匹配一樣,鏈接必須滿足allowed_domains裏的格式
# 2.request = Request(urls[0], callback=self.parse)#回調自己的parse方法
# yield request
class DmozSpider(scrapy.Spider):
name = "use_scrapy_recursion" #要調用的名字
allowed_domains = ["zhaopin.com"] #分一個域
start_urls = [#所有要爬路徑
"http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=python&sm=0&p=1"
]
#每爬完一個網頁會回調parse方法
def parse(self, response):
print(‘-------處理職位-----------‘)
hxsObj = response.xpath(‘//a[@class="next-page"]‘)
print(‘---------------------‘)
if len(hxsObj)==1:
urls = hxsObj[0].select("@href").extract()
text = hxsObj[0].select("text()").extract()
print(urls[0])
print(text)
request = Request(urls[0], callback=self.parse)#回調自己的parse方法
yield request

scrapy初試水 day03(遞歸調用)