0

私はWebスクレイピングにまったく慣れていないので、私の問題に光を当てていただきたいと思います. 私の問題に関するいくつかの記事を見つけましたが、うまくいかないようです。私が従った最も近いチュートリアルはこれです。 最初にログインが必要な Web サイトを Python でスクレイピングする方法

次のサイトをスクレイピングしようとしています: http://amigobulls.com/stocks/GE/income-statement/quarterly

私の目標は、「ゼネラル エレクトリックの財務諸表をダウンロードする」ためのダウンロード リンクをスクレイピングすることです。そのためには、ログインが必要です。ただし、ログインビットが機能していないようです。

br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Chrome')]
br.open('http://amigobulls.com/stocks/GE/income-statement/quarterly')

for f in br.forms():
    print f
br.select_form(nr=0)    
req = urllib2.Request(url, headers=hdr)   
# User credentials
br.form['pass'] = '______'
br.select_form(nr=1)
br.form['name'] = '______'
for f in br.forms():
    print f
# Login
br.submit()

print br.open('http://amigobulls.com/stocks/GE/income-statement/quarterly').read()

私が得た応答は次のとおりです

<GET http://amigobulls.com/stocks/GE/income-statement/quarterly# application/x-www-form-urlencoded
  <TextControl(<None>=)>
  <PasswordControl(pass=)>
  <CheckboxControl(remember_me=[*1])>
  <SubmitControl(<None>=Login) (readonly)>
  <TextControl(<None>=)>>
<GET http://amigobulls.com/stocks/GE/income-statement/quarterly# application/x-www-form-urlencoded
  <TextControl(name=)>
  <PasswordControl(<None>=)>
  <PasswordControl(<None>=)>
  <SubmitControl(<None>=Join Us) (readonly)>>
<GET http://amigobulls.com/stocks/GE/income-statement/quarterly# application/x-www-form-urlencoded
  <TextControl(<None>=)>
  <PasswordControl(pass=______)>
  <CheckboxControl(remember_me=[*1])>
  <SubmitControl(<None>=Login) (readonly)>
  <TextControl(<None>=)>>
<GET http://amigobulls.com/stocks/GE/income-statement/quarterly# application/x-www-form-urlencoded
  <TextControl(name=______)>
  <PasswordControl(<None>=)>
  <PasswordControl(<None>=)>
  <SubmitControl(<None>=Join Us) (readonly)>>

ログインしていないサイトの HTML コードが続きます。

成功すれば、ダウンロード リンクを見つけることができるはずです。

誰でも助けることができますか?どうもありがとう!

4

0 に答える 0