나는 for-loop를 가진 webscraper를 만들었다. 이유는 모르겠지만 반환 할 URL을 반환하고 목록에서 다음 URL을 가져 오기 전에 NoneType 개체를 반환합니다. 스크립트를 느리게 만드는 것 이외에는 큰 문제가 아닙니다. 첫 번째 URL 이상을 인쇄 할 수 없기 때문이 아니라면 큰 문제는 아닙니다.BeautifulSoup 값만 인쇄하는 방법?
from BeautifulSoup import BeautifulSoup
from mechanize import Browser
br = Browser()
page = br.open("https://bdkv2.borger.dk/foa/Sider/default.aspx?fk=22&foaid=11541520")
html = page.read()
soup = BeautifulSoup(html)
link = soup.findAll('a')
kommunelink = link[21:116]
for kommune in kommunelink:
kommuneside = br.open(kommune['href'])
html2 = kommuneside.read()
soup2 = BeautifulSoup(html2)
hjemmesidelink = soup2.find('a', id='_uscAncHomesite')
print hjemmesidelink['href']
내 출력이처럼이 방법 :
http://www.albertslund.dk
Traceback (most recent call last):
File "C:\Users\kba\Desktop\kommuneskraber.py", line 14, in <module>
print hjemmesidelink['href']
TypeError: 'NoneType' object has no attribute '__getitem__'
내가 좋아하는 물건 장난 시도했다 : 변수 == 특정 클래스는, 다음 인쇄,하지만이 작동하지 않습니다. 예 :
If hjemmesidelink['href'] == <class 'BeautifulSoup.Tag'>:
print hjemmesidelink['href']
if hjemmesidelink.class == BeautifulSoup.Tag:
print hjemmesidelink['href']
어떻게해야할까요? 아니면 더 나은, 어떤 생각을 어디에/왜 내 스크립트가 루프를 통해 iterates 때마다 'NoneType'개체를 가져 오는 이유는? 무리 감사.
위의 코드에서 들여 쓰기가 잘못되었으므로 파이썬 스크립트에 그대로 넣었습니까? –
여전히 for 루프에서 들여 쓰기를 수정해야합니다. –
이제 수정해야합니다. – kabp