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"))
마지막 '다음' 을 빼고 출력
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 |