2010-05-20 8 views
14

아름다운 스프 (Python으로)를 사용하고 있습니다. 나는 그러한 숨겨진 입력 개체를 가지고있다 :find 함수의 매개 변수

<input type="hidden" name="form_build_id" id="form-531f740522f8c290ead9b88f3da026d2" value="form-531f740522f8c290ead9b88f3da026d2" /> 

나는 id/value가 필요하다.

print soupHandler.find(name='form_build_id', type='hidden') 
None 

문제점은 무엇입니까 :

mainPageData = cookieOpener.open('http://page.com').read() 
soupHandler = BeautifulSoup(mainPageData) 

areaId = soupHandler.find('input', name='form_build_id', type='hidden') 

TypeError: find() got multiple values for keyword argument 'name' 

내가 코드를 변경 시도 : 여기

내 코드? 사용

답변

24

시도 alternative attrs keyword : 아름다운 수프 검색 방법은 이미 이름을 인수를 정의하기 때문에

areaId = soupHandler.find('input', attrs={'name':'form_build_id', 'type':'hidden'}) 

당신은 키워드 인수 라는 이름을 사용할 수 없습니다. 또한 이라는 키워드로 예약어와 같은 Python 을 사용할 수 없습니다.

Beautiful Soup는 attrs라는 특수 문자를 제공하며이 경우 을 사용할 수 있습니다. attrs는 키워드 인수처럼 작동하는 사전입니다.

관련 문제