我必須從this site颳去前美國州長的所有信息。但是,要讀出結果並按照鏈接進行操作,我需要訪問不同的結果頁面,或者,最好將每頁顯示的結果限制設置爲最大值100(我認爲不超過100每個州的結果)。然而,頁面信息似乎使用JavaScript,不是一個窗體的一部分,它似乎我不能作爲一個控件訪問它。Python刮板機械化/ javascript
有關如何繼續的任何信息?我對python來說很新,只是不時地將它用於這樣的任務。這是通過主表單迭代的一些簡單代碼。
import mechanize
import lxml.html
import csv
site = "http://www.nga.org/cms/FormerGovBios"
output = csv.writer(open(r'output.csv','wb'))
br = mechanize.Browser()
response = br.open(site)
br.select_form(name="governorsSearchForm")
states = br.find_control(id="states-field", type="select").items
for pos, item in enumerate(states[1:2]):
statename = str([label.text for label in item.get_labels()])
print pos, item.name, statename, len(states)
br.select_form(name="governorsSearchForm")
br["state"] = [item.name]
response = br.submit(name="submit", type="submit")
# now set page limit to 100, get links and descriptions\
# and follow each link to get information
for form in br.forms():
print "Form name:", form.name
print form, "\n"
for link in br.links():
print link.text, link.url
將頁面大小更改爲2500並保存HTML,然後根據需要解析保存的HTML。 – EPQRS