예에서와 같이 Python3 get 및 풀 훅 그물 작업 방식

이 문서는 풀 훅 순 일자리를 얻을 Python3에 대한 관련 정보를 소개하는 주로, 용지 샘플 코드를 배우거나 Python3 학습의 특정 기준값 함께 배울 수 아래의 필요에 친구가 사용하는 우리 모두에게 훌륭한 세부 사항 설명 그것을 배울
서문

업계에 대한 파이썬 정보와 데이터 분석을 이해하는 아마 급여 요구 사항 및 업계의 상황을보고하기 위해, 나는 인터넷과 분석에서 정보를 얻을하기로 결정했다. 내가 그들로부터 정보를 얻기 위해, 깊은 내부 위험, 풀 훅으로 선택하므로, 분석 할 데이터가 필요하기 때문에. 나중에 설명, 풀 훅 방지 등반 기술은 매우 강력하고 말해야한다. 그는 단지 시작, 말을 많이하지 않았다.

의 명확한 목적
각 파충류는 분명한 목적을 가지고 물을 테스트하기 위해 새로운 무언가를 찾기 위해 단지를 제외시켰다해야합니다. 나는 파이썬 데이터 분석 요구 사항과 급여 조건, 따라서, 급여, 교육, 업무 경험과 자격이 내 삶의 목적입니다 알고 싶어요.

명확한 목표 때문에, 우리는 우리가 브라우저를 열고 대상을 찾을 수 있도록, 무엇을 자신의 위치를보고있다. 자신의 정보 후크 풀 등이 웹 사이트는 일반적으로 아약스를 통해로드, 그냥 페이지 번호를 클릭하여 게재를 시작하는 것보다 반환 페이지 작업을 누른 후 이동 "파이썬 데이터 분석"을 입력하는 작업의 변화와도 네트워크는 우리가 안전하게 그래서 그냥 포스트 XHR 요청 및 문서에 초점을하자, 곧 우리가 원하는 것을 발견, 그가 우편으로 요청 된 것을 추측 할 수 많은 변화하지 않았다. 그림 삽입 설명 여기
'급여', 'workYear', json으로, 눈에 보이는 형태로 저장 미리보기 상세 정보를 클릭 '교육', 'positionID'( 페이지 ID에 대한 작업 세부 정보) 인 우리가 원하는 것을. 그리고 KD = 키워드, PN = pageNum는 (페이지)이 우리의 요청 매개 변수를 가져 오는 시간의 양식 데이터, 봐. 또한, 우리는주의 리퍼러 요청 헤더 매개 변수, 조금 나중에 사용을 지불해야한다. 대상을 알게되면, 일어나!

둘째, 파충류를 시작합니다

먼저, 사용자 에이전트는 일반적으로 다음 formdata 또한 라이브러리에 직접 요청을 가져, 테이프를 사용하는 요청 헤더 헤더를 설정 requests.post(url, headers=headers, data=formdata) ,: 주어진되는 시작 {"status":false,"msg":"您操作太频繁,请稍后再访问","clientIp":"......","state":2402}。
이 문제를 해결하는 열쇠는 안티 등반 풀 후크의 메커니즘을 이해하기 위해 다음을 입력을 파이썬 데이터 분석 페이지를 고용하기 전에, 우리는 집에, 키워드 점프 입력 START_URL를 호출 할 수 있습니다합니다. 이 요청에 접근하면이 과정에서 서버가 쿠키, 쿠키를 반영됩니다, 우리는 당신이 원하는 것을 얻을 수 있습니다, 첫 번째 요청은 요청 대상 URL에서 쿠키를 얻을 START_URL 있도록하고, 대상 요청에 주소 만도 리퍼러를 가지고있는 경우 요청 헤더 매개 변수, 참조자는 이런 식의 의미 : 나는 각지에서 페이지 링크가이 서버 그룹이 처리를위한 몇 가지 정보를 얻을 수있는 서버를 말한다. 또한, 긴 수면 시간은 조금 설정해야합니다, 또는 매우 쉽게 밀봉 할 수 있습니다. 안티 상승 후 메커니즘을 알고, 말 수가 적은 사람이 직접 코드에 말했다.

'''
@author: Max_Lyu
Create time: 2019/4/1
url: https://github.com/MaxLyu/Lagou_Analyze
'''
 # 请求起始 url 返回 cookies
 def get_start_url(self):
 session = requests.session()
 session.get(self.start_url, headers=self.headers, timeout=3)
 cookies = session.cookies
 return cookies
 
 # 将返回的 cookies 一起 post 给 target_url 并获取数据
 def post_target_url(self):
 cookies = self.get_start_url()
 pn = 1
 for pg in range(30):
  formdata = {
  'first': 'false',
  'pn': pn,
  'kd': 'python数据分析'
  }
  pn += 1
 
  response = requests.post(self.target_url, data=formdata, cookies=cookies, headers=self.headers, timeout=3)
  self.parse(response)
  time.sleep(60) # 拉勾的反扒技术比较强,短睡眠时间会被封
 
 # 解析 response,获取 items
 def parse(self, response):
 print(response)
 items = []
 print(response.text)
 data = json.loads(response.text)['content']['positionResult']['result']
 
 if len(data):
  for i in range(len(data)):
  positionId = data[i]['positionId']
  education = data[i]['education']
  workYear = data[i]['workYear']
  salary = data[i]['salary']
  list = [positionId, education, workYear, salary]
  items.append(list)
 self.save_data(items)
 time.sleep(1.3)

파일을 저장하는 것입니다 어떤 save_data (항목), 나는 csv 파일에 저장되었습니다. 공간이 제한되어,이 입증되지 않습니다.

모집 세부 사항 셋째, 접근

그것은 positionID 페이지 요구 사항이 원하는 세부 사항을 가지고 세부 정보 페이지를 얻을 말한다. (일부 서비스하는 기술을 절충, 그래서 좋아지고 있지만)이 비교적 쉽게 얻을하지만 텍스트가 매우 간단 다루지 않는다, 나는 단지 자격을 얻을 수있는 단어를 "이 필요합니다."

'''
@author: Max_Lyu
Create time: 2019/4/1
url: https://github.com/MaxLyu/Lagou_Analyze
'''
def get_url():
 urls = []
 with open("analyst.csv", 'r', newline='') as file:
 # 读取文件
 reader = csv.reader(file)
 for row in reader:
  # 根据 positionID 补全 url
  if row[0] != "ID":
  url = "https://www.lagou.com/jobs/{}.html".format(row[0])
  urls.append(url)
 
 file.close()
 return urls
 
# 获取详细信息
def get_info():
 urls = get_url()
 length = len(urls)
 for url in urls:
 print(url)
 description = ''
 print(length)
 response = requests.get(url, headers=headers)
 response.encoding = 'utf-8'
 content = etree.HTML(response.text)
 detail = content.xpath('//*[@id="job_detail"]/dd[2]/div/p/text()')
 print(detail)
 
 for i in range(1, len(detail)):
 
  if '要求' in detail[i-1]:
  for j in range(i, len(detail)):
   detail[j] = detail[j].replace('\xa0', '')
   detail[j] = re.sub('[、;;.0-9。]', '', detail[j])
   description = description + detail[j] + '/'
  print(description)
 write_file(description)
 length -= 1
 time.sleep(3)

넷째, 쇼의 결과 그림 삽입 설명 여기
그림 삽입 설명 여기
여기가 작업을 크롤링하는 것은 끝났습니다. 데이터를 획득 한 후 분석하고, 다음 번에 요약 적다.

우리는 쿤 버클 Python을 학습하는 것이 좋습니다 : 913066266, 어떻게 노인이 학습에서 봐! 기본적인 웹 개발 파이썬 스크립트에서, 파충류, 장고, 데이터 마이닝 등을 PDF, 실제 소스 코드]로 마무리되는 전투 데이터 프로젝트를 제로. 모든 작은 파이썬 파트너에게 주어! 매일 다니엘은 클릭 우리가 가입, 배우고 작은 세부 사항에주의 할 필요가있는 몇 가지 방법을 공유하고, 타이밍 파이썬 기술을 설명 파이썬 학습자 수집
요약

이 기사에 대한 모든 있다고, 나는이 논문의 내용을 배울 수있는 사람 또는 작품에 대한 학습의 일부 참조 값이 되었기를 바랍니다

게시 47 개 원래 기사 · 원 찬양 53 ·은 50000 +를 볼

추천

출처blog.csdn.net/haoxun03/article/details/104270530