python 파충류 학습 노트 2.9 (bs4 사용 사례)

python 파충류 학습 노트 2.9 (bs4 사용 사례)
python 파충류 학습 노트 1.1 (일반 파충류 와 초점 파충류) python 파충류 학습 노트 1.2 (HTTP 와 HTTPS) python 파충류 학습 노트 1.3 str 와 bytes 의 차이 python 파충류 학습 노트 1.4 (Request 간단 사용) request 설치 python 파충류 학습 노트 1.5 (Requests 깊이) python 파충류 학습 노트 1.6 (HTTP / HTTPS 패키지 도구 - fiddler)python 파충류 학습 노트 1.7 (urllib 모듈 의 기본 사용) python 파충류 학습 노트 1.8 (urllib: get 요청 과 post 요청) python 파충류 학습 노트 1.9 (Handler 프로세서 와 사용자 정의 Opener) python 파충류 학습 노트 2 (비 구조 화 데이터 와 구조 화 데이터 추출) python 파충류 학습 노트 2.1 (정규 표현 식 re 모듈)python 파충류 학습 노트 2.2 (정규 표현 식 을 사용 한 파충류 의 간단 한 사례) python 파충류 학습 노트 2.3 (XPath 와 lxml 라 이브 러 리) python 파충류 학습 노트 2.4 (Xpath 를 사용 한 사례) python 파충류 학습 노트 2.5 (json 과 JSonPath) python 파충류 학습 노트 2.6 (괴짜 백과 사례) python 파충류 학습 노트 2.7(다 중 스 레 드 파충류 사례 (초보 이해) python 파충류 학습 노트 2.8 (beautifulsoup 4) python 파충류 학습 노트 2.9 (bs4 사례 사용) python 파충류 학습 노트 3 (동적 HTML 처리 와 기계 이미지 인식) python 파충류 학습 노트 3.1 (동적 HTML 소개) python 파충류 학습 노트 3.2 (Selenium 과 PhantomJS)python 파충류 학습 노트 3. \ # (번 외) (selenium 과 chromedriver 사용 중 문제)
사례: Beautiful Soup 4 를 사용 한 파충류
우 리 는 텐 센트 사 모집 페이지 로 시범 을 보 였 다.http://hr.tencent.com/position.php?&start=10#a python爬虫学习笔记 2.9 (使用bs4得案例)_第1张图片 BeautifuSoup 4 해상도 기 를 사용 하여 채용 홈 페이지 의 직위 명, 직위 유형, 채용 인원, 근무 장소, 발표 시간, 그리고 각 직위 의 상세 한 클릭 링크 를 저장 합 니 다. python爬虫学习笔记 2.9 (使用bs4得案例)_第2张图片
# bs4_tencent.py


from bs4 import BeautifulSoup
import urllib
import json    #    json    

def tencent():
    url = 'http://hr.tencent.com/'
    request = urllib.request.Request(url + 'position.php?&start=10#a')
    response =urllib.request.urlopen(request)
    resHtml = response.read()

    output =open('tencent.json','w')

    html = BeautifulSoup(resHtml,'lxml')

#   CSS   
    result = html.select('tr[class="even"]')
    result2 = html.select('tr[class="odd"]')
    result += result2

    items = []
    for site in result:
        item = {}

        name = site.select('td a')[0].get_text()
        detailLink = site.select('td a')[0].attrs['href']
        catalog = site.select('td')[1].get_text()
        recruitNumber = site.select('td')[2].get_text()
        workLocation = site.select('td')[3].get_text()
        publishTime = site.select('td')[4].get_text()

        item['name'] = name
        item['detailLink'] = url + detailLink
        item['catalog'] = catalog
        item['recruitNumber'] = recruitNumber
        item['publishTime'] = publishTime

        items.append(item)

    #   ascii  , utf-8  
    line = json.dumps(items,ensure_ascii=False)

    output.write(line.encode('utf-8'))
    output.close()

if __name__ == "__main__":
   tencent()

좋은 웹페이지 즐겨찾기