我的Web Scraping应用程序出现问题。我想要返回一个州的县名单,但我遇到的问题只是打印出文本。在这里它打印选择中的所有元素(作为县),但我只想要县的列表(没有html的东西,只有内容)。
import urllib.request
from bs4 import BeautifulSoup
url = 'http://www.stats.indiana.edu/dms4/propertytaxes.asp'
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page.read(), "html.parser")
counties = soup.find_all(id='Select1')#Works
print(counties)
这将返回网页上所有内容的文本,而不是html内容,这就是我想要的内容,但它会打印页面上的所有内容:
import urllib.request
from bs4 import BeautifulSoup
url = 'http://www.stats.indiana.edu/dms4/propertytaxes.asp'
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page.read(), "html.parser")
counties = soup.get_text()#works
print(counties)
我想知道是否有办法将两者结合起来,但每次我都会收到错误消息。我认为这可能有用:
counties = soup.find_all(id=’Select1’).get_text()
我不断得到“没有属性'get_text'”
答案 0 :(得分:0)
所以你真正想要做的就是在选择字段中找到孩子(选项)。
select = soup.find_all(id='Select1')
options = select.findChildren()
for option in options :
print(option.get_text())
BeautifulSoup参考是pretty good。您可以四处查找可以在标记对象上使用的其他方法,以及查找要传递给findChildren的选项。