鱼C论坛

 找回密码
 立即注册
查看: 2762|回复: 13

[已解决]爬取BOSS的岗位名称和详情页的岗位描述

[复制链接]
发表于 2020-11-14 16:15:18 | 显示全部楼层 |阅读模式

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

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

x
我在跟某个爬虫视频抄 如何 用scrapy 爬取 boss招聘网站 的岗位名称 和 职位描述。这个网站好象更新了,所以视频中老师的部分代码失效了。里面有一些xpath的路径,我做了修改。但是不知为啥,爬出来什么东西也没有,也没报错。

求求路过的大神,帮忙看看,我都检查了一天,也不知哪出错了。下面是源码,我把整个工程也打包上传到百度网盘了。
#16行,是爬取 岗位名称
#10行,是爬取 岗位描述
#18行,是岗位描述的详情页

这只是半成品,我是一边看视频,一边打的。

重点是 #10, #14 #18行的 XPATH 这几个我和视频老师的源码不一样,其它都是抄他的。
import scrapy


class BossSpider(scrapy.Spider):
    name = 'boss'
    #allowed_domains = ['www.xxx.com']
    start_urls = ['https://www.zhipin.com/job_detail/?query=python&city=101010100&industry=&position=']
    
    def parse_detail(self,response):
        job_desc = response.xpath('//*[@id="main"]/div[3]/div/div[2]/div[2]/div[1]/div//text()').extract()
        job_desc = ''.join(job_desc)
        print(job_desc)
    def parse(self, response):
        li_list = response.xpath('//*[@id="main"]/div/div[2]/ul/li')
        for li in li_list:
            job_name = li.xpath('.//div[@class="job-title"]/span[1]/a/text()').extract_first()
            print(job_name)
            detail_url = 'https://www.zhipin.com'+li.xpath('.//div[@class="job-title"]/span[1]/a/@href').extract_first()
            yield scrapy.Request(detail_url, callback=self.parse_detail)    
    

链接:https://pan.baidu.com/s/1G8eztmNmZD72RxBMgz-axQ
提取码:1234
最佳答案
2020-11-16 23:58:58
看了下你的代码。代码运行没问题啊,有时候会得不到结果,是因为cookie失效了。影响页面响应内容的是这个cookie参数zp_stoken,如果你不懂js,自己可能没办法逆向js生成cookie参数。你可以百度,看看其他人的逆向分析。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-15 14:17:55 | 显示全部楼层
BOOS做了cookie反爬,设置一下cookie。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 16:35:19 | 显示全部楼层
YunGuo 发表于 2020-11-15 14:17
BOOS做了cookie反爬,设置一下cookie。

感谢大神指点。我做一些截图,麻烦您看看对不对?

1. 我在设置里面把cookie启用了, 去爬,还是啥结果也没有。

这是我百度到的方法。如果设为False就用默认的;如果设为True,是用自定义的方法。我想用默认的,这样对吗?
0002.png

2. 我百度一些网友在爬BOSS里,被封掉,有大神说要加sleep。我这么设置,对不?

0003.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 17:44:12 | 显示全部楼层
最简单的,你直接复制浏览器的cookie到setting里面的DEFAULT_REQUEST_HEADERS就行了。
请求频率太高怕封ip,可以在setting里面开启DOWNLOAD_DELAY限制爬虫爬取速度,这个参数值单位是秒。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-11-15 20:04:02 | 显示全部楼层
本帖最后由 青松100 于 2020-11-15 20:06 编辑
YunGuo 发表于 2020-11-15 17:44
最简单的,你直接复制浏览器的cookie到setting里面的DEFAULT_REQUEST_HEADERS就行了。
请求频率太高怕封ip ...


大神,我按您的指导去更改了。总算有进步了,但是出错了。求求您再拉小白。

我把我的代码和视频老师的代码进行核对,也没发现哪里写错了。
也百度了UNEXPECTED EOF WHILE PARSING 可是也没百度出应该要咋做。这个错误提示上面有一个^ 应该是出错的地方,可是我不知它在哪呀。

0004.png

0005.png

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

使用道具 举报

发表于 2020-11-16 00:05:12 | 显示全部楼层
从你的截图来看,你的DEFAULT_REQUEST_HEADERS有个花括号是注释的状态,看看是不是少一个花括号的原因。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-11-16 14:26:44 | 显示全部楼层
YunGuo 发表于 2020-11-16 00:05
从你的截图来看,你的DEFAULT_REQUEST_HEADERS有个花括号是注释的状态,看看是不是少一个花括号的原因。

大佬,现在修改好了。又和以前的一样,什么报错也没有,但是啥也没输入。希望好人做到底。不要求您时时回复,有空帮我看看,小白感激不尽。


0006.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 16:32:13 | 显示全部楼层
青松100 发表于 2020-11-16 14:26
大佬,现在修改好了。又和以前的一样,什么报错也没有,但是啥也没输入。希望好人做到底。不要求您时时回 ...

把所有代码发来看看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-16 17:11:02 | 显示全部楼层
本帖最后由 青松100 于 2020-11-16 17:21 编辑
YunGuo 发表于 2020-11-16 16:32
把所有代码发来看看。


大神,这个网站网页只要有URL 都要审核的---一般时间都要一天以上, SETTING有一大堆默认的URL。 我把所有的代码都上传到百度网盘,可以吗?


没有想到百度网盘的URL,本论坛不要审核,太好了。

百度网盘地址如下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-16 17:18:17 | 显示全部楼层
链接:https://pan.baidu.com/s/1u5Tzs4Hj8ryb4lBNrUPfAw
提取码:1234


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

使用道具 举报

发表于 2020-11-16 17:27:17 | 显示全部楼层
放出来了吗?

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-11-16 17:29:39 | 显示全部楼层

谢谢不二老师。放出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 23:58:58 | 显示全部楼层    本楼为最佳答案   
看了下你的代码。代码运行没问题啊,有时候会得不到结果,是因为cookie失效了。影响页面响应内容的是这个cookie参数zp_stoken,如果你不懂js,自己可能没办法逆向js生成cookie参数。你可以百度,看看其他人的逆向分析。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
青松100 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-11-17 06:36:47 | 显示全部楼层
YunGuo 发表于 2020-11-16 23:58
看了下你的代码。代码运行没问题啊,有时候会得不到结果,是因为cookie失效了。影响页面响应内容的是这个co ...

我也猜到会不会是cookie失效了,我后来又自己找了一个cookie放进去,但是还是跑不了。

我之前这过一点前端包括JS,不过都忘了。

我现在改变学习方法了,如果跑不动的话,先把视频中老师讲解的知识点一个个记下来,以后再找最新的教学视频去学和练。S

万分感谢您这么多次无私的帮助,也给我指出一个方向了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 22:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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