前面咱们介绍了scrapy框架的使用,今天就来实战,爬取一下腾讯招聘的职位信息。
一、分析url
二、创建scrapy项目并生成爬虫
三、提取数据
四、保存数据
一、分析url
先确定url,这是网站的url:
url = 'https://careers.tencent.com/search.html'
咱们的需求是获取职位的名称、下面的工作职责、工作需求,并实现翻页操作。
分析网页源代码,发现这些信息都不在源码中,考虑使用抓包工具,进入network,刷新后出现一个带有“query”的文件,可以从中找到咱们想要的信息。因此,现在的url就是要作为起始的url:
起始url(列表页,总的职位信息页面)为:
one_url = 'https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1598155090173&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn'
同样的方法,能找到起始url(详情页,单个职位的具体信息页面)为:
two_url = 'https://careers.tencent.com/tencentcareer/api/post/ByPostId?timestamp=1598168153899&postId=1228141057842089984&language=zh-cn'
二、创建scrapy项目并生成爬虫
现在,通过terminal终端创建一个scrapy项目:
scrapy startproject tencent
创建爬虫 :scrapy genspider hr tencent.com
此时,咱们的scrapy爬虫框架就建好了,接下来进行相应的修改。
点开爬虫文件hr.py,把上一步确定的起始url添加到start_urls中
三、提取数据
1.对setting文件进行设置
为了不让其他信息显示出来干扰数据,设置中加入如下字段:
LOG_LEVEL = 'WARNING'
如下图:
2.添加start文件
在总目录下添加start.py文件,用于运行爬虫。
start文件代码如下:
from scrapy import cmdline
cmdline.execute(['scrapy','crawl',<