這是一個非常專業的情況下,我覺得彆扭要求它;不過,我正在努力工作。Python的機械化失去對屬性的第二個開放
我需要通過表單和結果頁面,所以我一直在使用機械化在Python中,表單提交後的鏈接嵌入JavaScript後,所以我不能簡單地follow_link遵循一個跟蹤號碼。我想要做的是將url正則表達出來,然後詢問open()
,但是當我這樣做時 - 我遇到了一些問題。
我可以叫br.geturl()
和br.title()
目標頁面上就好了,但是當涉及的時間來閱讀有問題的頁面的源代碼,它拋出
AttributeError: mechanize._mechanize.Browser instance has no attribute read (perhaps you forgot to .select_form()?)
是否有某種方式來做到這一點還是我我猴子修補它太多了,任何的建議是了不起
編輯[更多代碼{真難看只是想獲得它的工作}]:
cosn="########"
baseurl="http://aaa.com/"
search="thing.do"
br=Browser()
br.open(baseurl+search)
br.select_form('traceForm')
br['consignments']=cosn
req=br.submit()
pars=Soup(req.read())
found_url=re.match(r"javascript:window.location.href = '(?P<url>[\w\d=&?\.]+)", pars.find('td', attrs={'class':'select'})['onclick']).group('url')
br.open(baseurl+found_url)
print br.title() # works
print br.geturl() # works
print br.read() # throws exception
你能發佈一些更多的代碼? – codeape 2009-12-04 11:56:31