ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python抓取海量面经,直面秋招

2021-07-02 16:07:13  阅读:192  来源: 互联网

标签:Python 面经 discuss num enterprise 秋招 链接 page



又到了金九时分,要收获一个满意的offer,免不了花心思好好准备。而参考别人的面经,可以让我们在备战秋招时提供不小的帮助。所谓知己知彼,百战不殆,知晓面试流程使得在面试时更有信心应对面试官,了解目标公司的题型来做相应的训练,能够有效地拔高自己的“瞬时技术水平”。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

牛客网-互联网求职神器自然就成为了我们的目标,里面有各大公司的面经,一共收录了670家公司。中国科技企业巨头阿里、华为、腾讯、字节跳动等都有大量的面经。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

今天我们就来抓取一下这些公司的面经。在上图的页面中我们可以获取每个公司对应的href链接。利用简单的XPath即可得到各个企业的链接,企业的名字以及该企业的面经数量。

 

我们先进入阿里巴巴的面经页面,并进行翻页观察url链接变化。

https://www.nowcoder.com/discuss/tag/134?type=2&order=0&pageSize=30&expTag=0&query=&page=2

 

发现截至type=2便是之前获得的href链接。而后面的链接参数可以根据其英文来理解。显然,控制翻页的参数应该是page,其他参数应该不是必要的。正所谓实践是检验真理的唯一标准,我们使用获取的href链接只加上page参数尝试一下,果真如此。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

企业的面经数量可以作为page值的一个参考,因为每30条面经会翻页,page增加1。

  •  
    def get_enterprise(self):                r=requests.get(self.origin_url,headers=self.headers)        tree=etree.HTML(r.text)        enterprise=tree.xpath('//div[@data-nav="企业"]/ul[@class="discuss-tags-mod"]/li/a/@data-href')        enterprise_name=tree.xpath('//div[@data-nav="企业"]/ul[@class="discuss-tags-mod"]/li/a/span[@class="discuss-tag-item"]/text()')        num=tree.xpath('//div[@data-nav="企业"]/ul[@class="discuss-tags-mod"]/li/span[@class="discuss-tag-num"]/text()')        enterprise=[i[13:-7] for i in enterprise]        num=[int(i[:-1]) for i in num]                return enterprise,enterprise_name,num

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

接下来要做的事便是获取每一份面经的内容,并保存在本地。根据当前网页的源代码,我们还是利用简洁高效的XPath便可以得到面经的标题和其链接。

 

这里我想使用面经标题作为文件名,由于文件名的符号要求,我们需要将原有标题中的 图片魔术

花式照片墙

 

标签:Python,面经,discuss,num,enterprise,秋招,链接,page
来源: https://blog.51cto.com/u_15289428/2970948

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有