파이썬에서 제공해주는 뷰티풀 수프 웹페이지를 파서해주는 모듈이다
그러나 이 모듈에는 치명적인 버그가있다..
로그인 페이지에서 form태그를 파싱하는데 분명히 form태그가 있는대도 불구하고 긁어오지 못하는 현상이 벌어졌다.
그 원인은 바로
<html>
<head>
</head>
<script type = "text/javascript">
꽐라꽐라~
꽐라꽐라~
꽐라꽐라~
꽐라꽐라~
꽐라꽐라~
꽐라꽐라~
꽐라꽐라~
</script>
<body>
꽐라꽐라~
꽐라꽐라~
</body>
이건데.. 이것만봐서는 통..이해가 되질 않겠저?
결론은 헤드태그 다음에 바디태그가 없으면 헤드태그 이후의 태그들을 찾지못한다.
이런 바보같은 모듈같으니..
그냥 직접 만들어서 써야할듯하다 하,,,
인줄알았지만..... 몇번 삽질끝에 방법을 알아냈다 ;;;(이상하게 이럴리가 없는데 라고생각하고 삽질을 했다 될때까지 ㅠ)
버그가아니였다.. 역시 완벽한건가..ㄷㄷ
저런형식으로 form값을 가저오지 못할때는...
import bs4
import urllib2
url = 'http://www.****.co.kr/'
handle = urllib2.urlopen(url)
data = handle.read()
soup = bs4.BeautifulSoup(data)
html = str(soup)
so = bs4.BeautifulSoup(html)
위와같이 하면 해결된다.
원인은 soup자체가 UNICODE로 처리되는데 스트링으로 변경하지 않고 사용하게되면 폼을 찾지못하는 단순한 사용오류였던것이다...
'[PROGRAMMING] > ▶Python' 카테고리의 다른 글
Python기반 웹크롤러 및 스캐너 개발 (5) | 2013.11.11 |
---|---|
파이썬 정규식 (0) | 2013.11.06 |
리버싱 관련 어셈명령어 관리 프로그램 asmdic (0) | 2013.10.02 |
pyScripter theme (0) | 2013.09.29 |
Parameter.exe 점검도구 (0) | 2013.09.26 |