2017-02-20 16 views
0

をこするに私は使用BeautifulSoup画像

import time 
import mechanize 
from bs4 import BeautifulSoup 
import urllib2 
import cookielib 

cj = cookielib.CookieJar() 
br = mechanize.Browser() 
br.set_cookiejar(cj) 
br.open("http://ipcamera.userlocal.jp/photos/latest?camera_id=123456") 
br.select_form(nr=0) 
br.form['login[camera_code]'] = '123456' 
br.form['login[pass]'] = '7890' 
br.submit() 
soup = BeautifulSoup(br.response().read()) 
links = soup.find_all('img', src=True) 

for link in links: 
    timestamp = time.asctime() 
    link = link["src"].split("src=")[-1] 
    print link 

以下のようなコードを使用しています。しかし、私は、どのように私はこれらのエラーを回避することができ、以下のようなエラーを得た、またはいずれかのeaisr方法は、パスワードを使用してWebページを掻き取るということでしょうか?どうもありがとう。

C:\Program Files (x86)\Python27\lib\site-packages\bs4\__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("html.parser"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently. 
The code that caused this warning is on line 21 of the file login.py. To get rid of this warning, change code that looks like this: 
BeautifulSoup([your markup]) 
to this: 
BeautifulSoup([your markup], "html.parser") 
markup_type=markup_type)) 

答えて

1

これはエラーではありません。単なる警告です。パーザを明示的に指定していないからです。

は、この行の変更 -

soup = BeautifulSoup(br.response().read(),"html.parser") 

をそして、それがうまくいくかどうかを確認します。モバイルからの応答で、コードはフォーマットされていません。私は一時間で自分のPCにアクセスするとそれを行います:)

+0

あなたの答えをありがとう!ページhttp://ipcamera.userlocal.jp//photos/hoursにいくつかの画像を見ると、私はそれを掻き集めてリンクを得ることができませんが、その理由を知っていますか? – mikezang

+0

@mikezangそれは私をログインページにリダイレクトする、あなたはHTMLレスポンスのリンクを取得する必要があります –

+0

私はその画像リンクがjavascriptによって作成されたと思います、どうすれば簡単にそのようなページを擦ることができますか? – mikezang

関連する問題