【发布时间】:2014-10-20 02:31:55
【问题描述】:
我正在尝试提取两条数据:1)选项元素的“value”属性的值(即下面的“01000.html”)。 2) <option></option> 标签内的字符串(即“Alabama”)。使用 I use 创建的 ResultSet 列表对象的信息有限
url = 'http://quickfacts.census.gov/qfd/states/'
page = urllib2.urlopen(url)
soup = BeautifulSoup(page)
state_list = soup.find_all("option")
从美国人口普查 QFD 页面的下拉菜单中提取州列表(其本身就是具有这些选项的元素)。
大局,我试图使用简单的 i 计数器遍历美国的所有县,但显然县和州的编号并不统一。因此,我试图构建这些选项的列表,以便遍历“状态(字符串)”的“值”(成为 URL 的一部分)属性。
state_list
[<option value="01000.html">Alabama</option>,
<option value="02000.html">Alaska</option>,
<option value="04000.html">Arizona</option>,
<option value="05000.html">Arkansas</option>,
<option value="06000.html">California</option>,
<option value="08000.html">Colorado</option>,
<option value="09000.html">Connecticut</option>,
<option value="10000.html">Delaware</option>,
<option value="11000.html">District of Columbia</option>,
<option value="12000.html">Florida</option>,
<option value="13000.html">Georgia</option>,
<option value="15000.html">Hawaii</option>,
<option value="16000.html">Idaho</option>,
<option value="17000.html">Illinois</option>,
<option value="18000.html">Indiana</option>,
<option value="19000.html">Iowa</option>,
<option value="20000.html">Kansas</option>,
<option value="21000.html">Kentucky</option>,
<option value="22000.html">Louisiana</option>,
<option value="23000.html">Maine</option>,
<option value="24000.html">Maryland</option>,
<option value="25000.html">Massachusetts</option>,
<option value="26000.html">Michigan</option>,
<option value="27000.html">Minnesota</option>,
<option value="28000.html">Mississippi</option>,
<option value="29000.html">Missouri</option>,
(etc...)
【问题讨论】:
-
Bill Letson 对您提出的问题有正确答案,但这些是FIPS codes。从this EPA page 获取代码并在末尾添加“000”,您就有了州代码。 (同一个 EPA 页面链接到特定于州的页面,每个县都有最后三位数字(例如,29(密苏里州)+ 019(布恩县)= 29019(密苏里州布恩县))。)我还扔了@987654323几年前@在一起,以防万一。
-
哇,太棒了。非常感谢!
标签: python beautifulsoup scraper