鱼C论坛

 找回密码
 立即注册
查看: 934|回复: 4

[已解决]第一页趴下来了,为什么不爬第二页

[复制链接]
发表于 2018-10-28 21:08:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么不爬第二页啊是不是我yield缩进问题,求大佬看看


  1. # -*- coding: utf-8 -*-
  2. import scrapy
  3. from Tengxun.items import TengxunItem

  4. class TengxunSpider(scrapy.Spider):
  5.     name = 'tengxun'
  6.     allowed_domains = ['https://hr.tencent.com']
  7.     baseURL = 'https://hr.tencent.com/position.php?&start='
  8.     offset = 0
  9.     start_urls = [baseURL + str(offset)]
  10.     def parse(self, response):
  11.         node_list = response.xpath('//tr[@class="even"] | //tr[@class="odd"]')
  12.         for node in node_list:

  13.             item = TengxunItem()

  14.             item['positionName'] = node.xpath('.//a/text()').extract()[0]#职称
  15.             item['positionLink'] = node.xpath('.//a/@href').extract()[0]#详情
  16.             if len(node.xpath('./td[2]/text()')):
  17.                 item['positionType'] = node.xpath('./td[2]/text()').extract()[0]#类别
  18.             else:
  19.                 item['positionType'] = ' '
  20.             item['peopleNumber'] = node.xpath('./td[3]/text()').extract()[0]#人数
  21.             item['workLocation'] = node.xpath('./td[4]/text()').extract()[0]#地点
  22.             item['publishTime'] = node.xpath('./td[5]/text()').extract()[0]#.encode('utf-8')
  23.             yield item   #for循环取每一个值并返回,取完六个值再执行下面if

  24.         if self.offset < 2950:
  25.             self.offset += 10
  26.             #offset值为整型,字符串相加要转换成str类型
  27.             url = self.baseURL + str(self.offset)
  28.             #callback = self.parse 指定函数
  29.             yield scrapy.Request(url,callback = self.parse)    #访问第二页并将参数带入进入for循环
复制代码



cmd 执行到翻页代码返回信息,也没报错就是不知道为什么没爬第二页
2018-10-28 21:01:45 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'hr.tencent.com': <GET https://hr.tencent.com/position.php&start=10>
2018-10-28 21:01:45 [scrapy.core.engine] INFO: Closing spider (finished)
2018-10-28 21:01:45 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
最佳答案
2018-10-28 22:10:09
本帖最后由 wongyusing 于 2018-10-28 22:14 编辑

你这个代码是看网上的scrapy的教材对吧?
我没记错的话后面是一个for,没有if吧。  
还有个可能性是每次不是加10吧。  
你去看下页面每次加多少。  

还有个可能性,由于某个岗位缺少某个参数导致报错,使爬虫中断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-10-28 21:14:30 | 显示全部楼层
cmd返回信息翻译了下,

2018 - 10 - 28 21 : 12 : 17 [剪贴簿.蜘蛛中间件.场外]调试:过滤掉对“HR . tencen”的场外请求《获得https://hr.tencent.com/position.php?》& start = 10 >
2018 - 10 - 28 21 : 12 : 17 [剪贴簿。核心。引擎]信息:关闭蜘蛛(完成)信息:倾倒垃圾统计数据:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-28 22:10:09 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wongyusing 于 2018-10-28 22:14 编辑

你这个代码是看网上的scrapy的教材对吧?
我没记错的话后面是一个for,没有if吧。  
还有个可能性是每次不是加10吧。  
你去看下页面每次加多少。  

还有个可能性,由于某个岗位缺少某个参数导致报错,使爬虫中断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-28 22:36:17 | 显示全部楼层
wongyusing 发表于 2018-10-28 22:10
你这个代码是看网上的scrapy的教材对吧?
我没记错的话后面是一个for,没有if吧。  
还有个可能性是每次 ...

好了已经,是我的主域名问题,限制了爬虫跳转网页了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-28 22:36:48 | 显示全部楼层
wongyusing 发表于 2018-10-28 22:10
你这个代码是看网上的scrapy的教材对吧?
我没记错的话后面是一个for,没有if吧。  
还有个可能性是每次 ...

还是很谢谢你了回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 20:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表