网页刮刮问题

时间:2016-04-21 18:05:17

标签: web-scraping beautifulsoup python-3.4

我的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'”

1 个答案:

答案 0 :(得分:0)

所以你真正想要做的就是在选择字段中找到孩子(选项)。

select = soup.find_all(id='Select1')
options = select.findChildren()
for option in options :
    print(option.get_text())

BeautifulSoup参考是pretty good。您可以四处查找可以在标记对象上使用的其他方法,以及查找要传递给findChildren的选项。