详情页

python3拉勾网爬虫之(您操作太频繁,请稍后访问)

时间:2024年04月03日

编辑:佚名

你是否经历过这个:
在这里插入图片描述
那就对了~
因为需要post和相关的cookie来请求~
所以,一个简单的代码爬拉钩~~~
复制代码
  import requests
  import time
  import json
  
  
  def main():
      url_start = "https://www.lagou.com/jobs/list_运维?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput="
      url_parse = "https://www.lagou.com/jobs/positionAjax.json?city=成都&needAddtionalResult=false"
      headers = {
         'Accept': 'application/json, text/javascript, */*; q=0.01',
         'Referer': 'https://www.lagou.com/jobs/list_%E8%BF%90%E7%BB%B4?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput=',
         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
     }
     for x in range(1, 5):
         data = {
             'first': 'true',
             'pn': str(x),
             'kd': '运维'
                 }
         s = requests.Session() # 创建一个session对象
         s.get(url_start, headers=headers, timeout=3)  # 用session对象发出get请求,请求首页获取cookies
         cookie = s.cookies  # 为此次获取的cookies
         response = s.post(url_parse, data=data, headers=headers, cookies=cookie, timeout=3)  # 获取此次文本
         time.sleep(5)
         response.encoding = response.apparent_encoding
         text = json.loads(response.text)
         info = text["content"]["positionResult"]["result"]
         for i in info:
             print(i["companyFullName"])
             companyFullName = i["companyFullName"]
             print(i["positionName"])
             positionName = i["positionName"]
             print(i["salary"])
             salary = i["salary"]
             print(i["companySize"])
             companySize = i["companySize"]
             print(i["skillLables"])
             skillLables = i["skillLables"]
             print(i["createTime"])
             createTime = i["createTime"]
             print(i["district"])
             district = i["district"]
             print(i["stationname"])
             stationname = i["stationname"]
 
 if __name__ == '__main__':
     main()
复制代码
相关文章
猜你需要