본문 바로가기

프로그램/python

20200329_#2.1 Extracting Indeed pages

https://github.com/psf/requests

html에서 정보 추출하기 좋은 패키지

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

1. indeed 데이터 추출 

import requests 

from bs4 import BeautifulSoup

indeed_result = requests.get("https://kr.indeed.com/%EC%B7%A8%EC%97%85?q=python&l=")

// indeed_soup soup 이라는거 데이터를 찾아주는 object

indeed_soup = BeautifulSoup(indeed_result.text, "html.parser")

print(indeed_soup)

 

2. 페이지 부분 작업

 

class = pagination 찾아

find로 찾은 결과를 pagination변수에 넣어주고,

find_all 로 찾은 결과 list로 page에 넣어줌

pagination = indeed_soup.find("div", {"class":"pagination"})

page = pagination.find_all('a'

 

for page in pages:

print(page.find("span"))

span

마지막 '다음' 을 빼고 출력

spans[:-1]  <-- 마지막 빼고

spans[0:2] <-- 0~2까지

페이지 번호만 가져오기

pages.append(page.find("span").string)

페이지의 링크 anchor를 가져오게 하면 결과는 같아.

pages.append(page.string)

그 요소에 string이 하나면 anchor에서 string method를 실행하면 돼

페이지번호를 string 으로 가져와서 int로 변환해줘.

마지막 요소가 '다음' string이라 int변환시 error발생해서 for 에서 마지막 값 가져오지 않게해서 처리

pages.append(int(page.string))

가장 큰 수를 찾아

print(pages[-1])

3. 페이지를 계속 request 하는 방법

 

 

'프로그램 > python' 카테고리의 다른 글

20200328_#1.2 Theory elif modules  (0) 2020.03.28
20200327_#1.1 Theory Function  (0) 2020.03.27
20200326_#1.0 Theory Data type  (0) 2020.03.27