一般に、私はこのサイトから少なくともいくつかのタグを取得しようとし、常にnoneを返します。私はこれをどのように修正するのか分かりません。Pythonパーサーの出力なし
ボタンがあります。チケットを横から押した後に追加のパネルがあるので、解析したいのですが、わかりません。私が理解しているように、このタブはクリック直後にロードされません。次に何をするのか分かりません。 P.S.ちょうどそれを学び始めた。 Webページhttp://toto-info.co/のbody要素は、「パネルオープン」クラスの属性が含まれていないためだろう
# coding: utf-8-sig
import urllib.request
from bs4 import BeautifulSoup
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"}
def get_html(url):
request = urllib.request.Request(url,None,headers)
response = urllib.request.urlopen(request)
return response.read()
def parse(html):
soup = BeautifulSoup(html,"html.parser")
table = soup.find('body', class_='panel-open')
print(table)
def main():
parse(get_html('http://toto-info.co/'))
if __name__ == '__main__':
main()
このようなサイトは、セレン(*参照* http://selenium-python.readthedocs.io/)の助けを借りて時々削り取ることができます。 Seleniumでできることの1つは、 'webdriver'の' execute_script'メソッドを使ってJavascriptコードを実行することです。たとえば、 'document.documentElement.outerHTML'を実行することができます。私は、HTML5 APIによってローカルストアに書き込むことができることを理解しています。しかし、私はまだ詳細を調べる必要があります。 –