scrapy初试水 day03(递归调用)

本文介绍了一个使用Python Scrapy框架实现的递归爬取职位信息的示例。该示例通过定义爬虫类并设置递归请求来爬取指定网站上的职位列表页面,直至最后一页。具体包括了如何配置爬虫的基本参数、解析响应内容以及如何通过XPath选择器定位下一页链接。

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

转载于:https://www.cnblogs.com/qieyu/p/7922987.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值