【python爬虫】--拉钩网(requests库)

背景 :自学python,近段时间在找工作。抱着“所学不能应用于实际,那一切便毫无意义”的想法,写了个对拉钩网的爬虫。中途被拉钩的反爬机制弄的有点抓狂,最后终于在挂代理+设置随机等待时长的方法下写完了。


  • 开发环境

语言: python 2.7

系统: VMware下的ubuntu16.04

         工具: Fiddler 4 、Vim、xpath-helper 


  • 代码
hzw350的github

  • 毒点

  1. 拉钩搜索结果界面以Ajax加载,详情页的url地址藏在json文件中,需要比对。
  2. 如果不换IP地址,每次爬取至少需要等待10s以上,否则爬取到5~6个结果的时候还会被反爬掉。
  3. 请求头需要完整填写,单个User-Agent出来的是不同页面。 # 没做多次尝试,可能只需其中几个就够了。
  4. 搜索界面与详情页的headers需要单独分开。


  • 错漏

  1. 爬取拉钩并不需要用户账号密码,写之前未分析清除,增加了无意义代码量。 # 从这也看出拉钩并不封禁账号……
  2. 承上条,因为账户关系,使用了requests.seession()方法留存cookie值,留下痕迹。
  3. 挂上代理池等待时长应该是可以省略的,稍微延迟减少对对方服务器压力即可。


  • 改进方向

  1.  删除登陆界面相关代码,直接用post方法请求即可。
  2. 使用代理池可将随机等待时长删去,提高程序运行效率。
  3. xpath处理后数据仍然存在空格或者其他不明符号,需要再做清理。

  • 学习方向

  1. 数据清洗入库,以re和字符串处理为主,pandas酌情。
  2. 结合scrapy进行多线程大量数据的爬取。



若有疏漏或者错误的地方,还请各位大佬指出,感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值