코딩
python으로 회사 게시판에 로그인 후 출장자 명단 가져오기
요빙
2019. 1. 16. 17:23
처음에는 selenium을 이용하였으나, 무겁게 느껴지고, 느려서 requests를 이용 하는 것으로 바꿨다.
urllib을 쓸 수 있다는데, 추후 urllib을 공부해 봐야 겠다.
bs4가 파싱하기 좋으나, bs4를 못 쓸 경우, xpath를 사용. xpath는 어떤 언어든 라이브러리가 있고, 표준기술이라 한다.
1. pip install beautifulsoup4 #beautifulsoup4 설치
pip install requests # requests 설치
2. post로 받는 주소를 찾아야 한다. 보이는 주소로 해서 안되었다.
개발자 도구 - Network - All - Method가 없으면 보기에 추가 - Method가 POST를 찾는다.
3. login 유지를 위해 session 사용.
세션으로 문제가 없었다. 때에 따라서, 쿠키를 직접적으로 처리할 필요가 있다고 한다.
4. find_all 에서는 .text가 안된다.
for 구문 전에, print(tbody.text) 를 삽입해서 결과 비교를 참고하자.
한줄씩 출력을 하는지, 한 묶음으로 출력을 하는지의 차이가 있따.
휴가자명단도 동일하게 만들어 추가 가능 할 듯 싶다.
#출장자 명단 import requests from bs4 import BeautifulSoup url_login = "http://www.~~~" url_business= "http://www.~~~~" login_info = { "id":"~~~~", "password":"~~~" } with requests.Session() as s: login_req = s.post(url_login, data=login_info,) business = s.get(url_business) html = business.text soup = BeautifulSoup(html, "html.parser") tbody = soup.find("tbody") tr = tbody.find_all("tr") for t in tr: print(t.text)