このページのhtmlにstatic <table>
タグはありません。これはReactベースのページで、テーブルはJavaScriptで動的に作成されます。
編集:このページをこすりするには、データ
をフェッチするためのスクリプトを追加し、私は2つのオプションを参照してください。派遣蓋によって示唆されるように
- を、あなたがヘッドレスブラウザシミュレータを使用することができますghost.py、phantomjs、HtmlUnit、Seleniumなどのjavascriptを実行することができます
- または、html/javascriptのソースコードを見て、ブラウザのリクエストを見て、データソースを見つけることができます。
私は第2のものを好む。このスクリプトはテーブルのデータを含むページの内容を出力します。
# Python 3
import requests, re, json
def discard_format(dico):
if "_" in dico:
return dico["_"]
elif "$$" in dico:
return dico["$$"]
elif "$" in dico:
return ""
return dico
url_page = "http://www.sciencedirect.com/science/article/pii/S0378874116301696"
req = requests.get(url_page)
html = req.content.decode("utf-8")
token = re.search('"entitledToken":"(.*?)"', html).group(1)
url_data = "http://www.sciencedirect.com/sdfe/arp/pii/S0378874116301696/body?entitledToken=%s" % token
data = requests.get(url_data, cookies=req.cookies).content.decode("utf-8")
#print(data)
jsondata = json.loads(data, object_hook=discard_format)
print(jsondata)
'html'とは何ですか? –
申し訳ありませんが、コードをここにコピーしているときにエラーが発生しました。今すぐ正しく編集しました – user3089520