태그: Python

Ghost.py 사용법

 

BeautifulSoup으로 중첩 태그 검색하기

BeautifulSoup4.4에서 제공하는 강력한 검색 메소드들에는 한 가지 문제가 있는데, 바로 attribute를 찾을 때 검색된 선택자만의 것을 찾는다는 점이다. 그렇기 때문에 <tr><a> … </a></tr> 이런 식으로 중첩된 경우 <a>를 find()나 find_all()로 검색할 시 <tr>에 적용된 attribute를 확인하여 특정하는 것이 불가능하다.

이럴 땐 find_all() 메소드를 붙들고 있지 말고 .parant 메소드를 이용, 부모를 호출해버리면 된다.

그리고, BeautifulSoup에서 생성한 객체는 Navigatable String으로, String과는 다른 종류의 물건이다. 만약 String 관련 메소드들을 사용할 필요가 있다면, String으로 변환해주자.

 

예제 코드를 하나 첨부한다.

 

 

Python 2.7에서의 Urllib2를 이용한 쿠키 전달

LWPCookieJar 객체를 그대로 헤더에 때려박으면 에러가 난다는 좋은 교훈을 얻었다.

CookieJar에 세션을 잘 담았더라도, Urllib2의 Request를 통해 전송하려면 꼭 add_cookie_header() 메소드를 사용해야 한다.