1. 程式人生 > >python設置代理IP來爬取拉勾網上的職位信息,

python設置代理IP來爬取拉勾網上的職位信息,

chrome https htm input post 進行 work port ota

import requests
import json
import time

position = input(輸入你要查詢的職位:)

url = https://www.lagou.com/jobs/positionAjax.json?city=%E6%9D%AD%E5%B7%9E&needAddtionalResult=false
headers = {
    User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
, } prox = { #設置代理服務器 http:http://47.89.48.239:808, https:https://47.52.3.154:808 } def get_page(): #通過你輸入的職位來獲取每個職位的最大的頁數,後期來進行遍歷 data = { first: false, pn: 1, kd: position, } html = requests.post(url,headers=headers,data=data,proxies = prox) json_data
= json.loads(html.text) job_messages = json_data[content][positionResult] page = job_messages[totalCount]/job_messages[resultSize] #總的工作職位除以每頁顯示的工作崗位,得出的頁數,但是因為你會余數,所有做個判斷 num = str(job_messages[totalCount]/job_messages[resultSize])[-1] if num != 0: #如果是小數就加1,不是小數直接返回頁數
tole_page = int(page) + 1 return tole_page else: tole_page = int(page) return tole_page def get_job_message(data): #獲取每頁的工作信息 html = requests.post(url,headers=headers,data=data,proxies = prox) if html.status_code == 200: #顯示狀態碼 json_data = json.loads(html.text) job_messages = json_data[content][positionResult][result] for job_message in job_messages: company = job_message[companyFullName] #公司名稱 companySize = job_message[companySize] #公司大小 positionName = job_message[positionName] #職位名稱 salary = job_message[salary] #工資 workYear = job_message[workYear] #工作年限 district = job_message[district] #工作地址 print(company,companySize,positionName,salary,workYear,district) else: print(沒有獲取網頁數據) for pn in range(1,get_page()+1): data = { first: false, pn: str(pn), kd: position, } print(data) get_job_message(data) time.sleep(3)

python設置代理IP來爬取拉勾網上的職位信息,