2 개의 데이터를 추출하려고합니다 : 1) 옵션 요소의 "value"속성 값 (예 : "01000.html"). 2) <option></option>
태그 (즉, "Alabama") 내에있는 문자열. 나는 미국 인구 QFD 페이지의 드롭 다운 메뉴 (이 옵션 자체가 요소)에서 국가의 목록을 추출하는 url = 'http://quickfacts.census.gov/qfd/states/' page = urllib2.urlopen(url) soup = BeautifulSoup(page) state_list = soup.find_all("option")
BeautifulSoup의 ResultSet리스트 객체 조작하기
를 사용하여 생성 된 ResultSet 목록 객체에 대한 제한된 정보가있다.
큰 그림, 나는 미국의 모든 카운티를 간단한 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...)
빌 Letson 당신이 묻는 질문에 대한 정확한 답을 가지고 있지만, 이러한 [FIPS 코드]입니다 (http://en.wikipedia.org/wiki/Federal_Information_Processing_Standard_state_code). [이 EPA 페이지] (http://www.epa.gov/enviro/html/codes/state.html)에서 코드를 가져 와서 끝에 '000'을 추가하면 주 코드가 생깁니다. (동일한 EPA 페이지는 각 주마다 마지막 3 자리 숫자가있는 주별 페이지로 연결됩니다 (예 : 29 (Missouri) + 019 (Boone County) = 29019 (Boone County, Missouri)). ] (https://gist.github.com/myersjustinc/1233434) 몇 년 전에 도움이 될 수 있습니다. – myersjustinc
와우, 굉장해. 감사합니다. – d8aninja