python scrapy 案例练习

本文详细介绍了使用Python Scrapy框架爬取腾讯职位信息的过程,包括通过AJAX接口寻找翻页和数据请求URL,解析数据,利用meta传递数据,以及爬取详情页内容,并最终通过管道保存结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例练习

爬取职位+翻页爬取

在这里插入图片描述
在这里插入图片描述

指向的只是数字不是url地址

在这里插入图片描述
在这里插入图片描述

页面分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ajax接口找寻——Network里面看

在这里插入图片描述
在这里插入图片描述

打开网址:

第一页:https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1622714101653&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn

在这里插入图片描述

第一页:https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1622714101653&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn

第二页 https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1622714852621&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&**pageIndex=2 **&pageSize=10&language=zh-cn&area=cn

规律是:pageIndex= 页数

在这里插入图片描述
在这里插入图片描述

创建scrapy

1. scrapy startproject xxx

在这里插入图片描述

2.scrapy genspider xxx 域名

在这里插入图片描述
在这里插入图片描述

爬虫程序文件

在这里插入图片描述

start_urls第一页

在这里插入图片描述
在这里插入图片描述

解析数据

需要找到的数据

在这里插入图片描述
在这里插入图片描述

在start文件运行

在这里插入图片描述
在这里插入图片描述

item文件:(在爬虫程序中实例化对象)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

加上翻页代码运行:

在这里插入图片描述
在这里插入图片描述

爬取详情页内容:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同样是ajax数据接口——真正的url是https://careers.tencent.com/tencentcareer/api/post/ByPostId?timestamp=1622731459890&postId=1400451451284627456&language=zh-cn

另一个url是:https://careers.tencent.com/tencentcareer/api/post/ByPostId?timestamp=1622731603080&postId=1369488632871657472&language=zh-cn

唯一不同点是postId

而postId是在每一页的数据接口你的url里

在这里插入图片描述
在这里插入图片描述

代码逻辑:

这里的two_url是占位的,需要把postId传进去才可以有完整的url

在这里插入图片描述
在这里插入图片描述

拼接url

在这里插入图片描述

这里要用到meta——数据传递,传递PostId来把parse函数获取到的postId值传给另一个爬取详情页的函数detail_content

meta = {‘item’: 需要传递共享的对象}

在这里插入图片描述

meta值传递的第一种方法——item =response.meta[‘item’]

在这里插入图片描述

meta值传递的第一种方法——item =response.meta.get(‘item’)

在这里插入图片描述

在职位详情页拿Requirement当事例,因为在职业url没有这个

在这里插入图片描述
在这里插入图片描述

结果:

在这里插入图片描述
在这里插入图片描述

结果:

在这里插入图片描述

打开管道pipline并保存

在这里插入图片描述

在爬虫文件中因为职责有\n的符号,要去掉

在这里插入图片描述

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值