【Python3爬虫】拉勾网爬虫

 

一、思路分析:

在之前写拉勾网的爬虫的时候,总是得到下面这个结果(真是头疼),当你看到下面这个结果的时候,也就意味着被反爬了,因为一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问:

对于拉勾网,我们要找到职位信息的ajax接口倒是不难(如下图),问题是怎么不得到上面的结果。

 

要想我们的爬虫不被检测出来,我们可以使用代理IP,而网上有很多提供免费代理的网站,比如

 1 import requests  2 import re  3  4  5 class Proxies:  6     def __init__(self):  7         self.proxy_list = []  8         self.headers = {  9             "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "10                           "Chrome/45.0.2454.101 Safari/537.36", 11             'Accept-Encoding': 'gzip, deflate, sdch', 12         } 13 14     # 爬取西刺代理的国内高匿代理15     def get_proxy_nn(self): 16         proxy_list = [] 17         res = requests.get("http://www.xicidaili.com/nn", headers=self.headers) 18         ip_list = re.findall('<td>(\d+\.\d+\.\d+\.\d+)</td>', res.text) 19         port_list = re.findall('<td>(\d+)</td>', res.text) 20         for ip, port in zip(ip_list, port_list): 21             proxy_list.append(ip + ":" + port) 22         return proxy_list 23 24     # 验证代理是否能用25     def verify_proxy(self, proxy_list): 26         for proxy 
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信