スクレイプ複数のページには、(表では、GETメソッドを使用しています)
私はPythonのBS4と、このURLで利用できるテーブルをスクラップしたいが、私は、テーブルのサイズや変更ページのURLを変更する場合は変更されませんし、それがありませんpostメソッドを使用しないでください。
スクレイプ複数のページには、(表では、GETメソッドを使用しています)
私はPythonのBS4と、このURLで利用できるテーブルをスクラップしたいが、私は、テーブルのサイズや変更ページのURLを変更する場合は変更されませんし、それがありませんpostメソッドを使用しないでください。
テーブルをナビゲートすると、テーブルがjavascript(特にDataTablesライブラリ)を使用して実装されているように見えるため、URLは変更されません。またAJAXを使用して関連するデータを表示します。
だから、基本的に、私は、ページが読み込まあなたは、BS4を使用してページをこすり、デフォルトで表示されたもの以外のデータを得ることができる方法が表示されません。
一方、AJAXを使用してデータを取得すると、AJAXリクエストのフォーマットを調べることができます(たとえば、Firebugを使用してどのような結果が得られますか?データ表を提供するAJAX URLをコールすることによって、JSON形式で直接データを取得できます。
しかし、データの用途に応じて、データをダウンロードして、使用許可のためのウェブサイトの所有者を求めて検討する必要があります。そして、誰が知っている - 彼らは喜んで助けてくれるかもしれません。
はまあそのPythonで迅速かつ汚い廃棄コードをここでは、GETを介してサーバに送信されているAJAX呼び出し
import requests,time
c=0
data=list()
for i in range(1,2278):
url='http://results.xacte.com/json/search?eventId=1387&callback=jQuery18309972286304579958_1494520029659&sEcho=8&iColumns=13&sColumns=&iDisplayStart='+str(c)+'&iDisplayLength=10&mDataProp_0=&mDataProp_1=bib&mDataProp_2=firstname&mDataProp_3=lastname&mDataProp_4=sex&mDataProp_5=age&mDataProp_6=city&mDataProp_7=state&mDataProp_8=country&mDataProp_9=&mDataProp_10=&mDataProp_11=&mDataProp_12=&sSearch=&bRegex=false&sSearch_0=&bRegex_0=false&bSearchable_0=false&sSearch_1=&bRegex_1=false&bSearchable_1=true&sSearch_2=&bRegex_2=false&bSearchable_2=true&sSearch_3=&bRegex_3=false&bSearchable_3=true&sSearch_4=&bRegex_4=false&bSearchable_4=true&sSearch_5=&bRegex_5=false&bSearchable_5=true&sSearch_6=&bRegex_6=false&bSearchable_6=true&sSearch_7=&bRegex_7=false&bSearchable_7=true&sSearch_8=&bRegex_8=false&bSearchable_8=true&sSearch_9=&bRegex_9=false&bSearchable_9=true&sSearch_10=&bRegex_10=false&bSearchable_10=true&sSearch_11=&bRegex_11=false&bSearchable_11=false&sSearch_12=&bRegex_12=false&bSearchable_12=false&iSortCol_0=0&sSortDir_0=asc&iSortingCols=1&bSortable_0=false&bSortable_1=true&bSortable_2=true&bSortable_3=true&bSortable_4=true&bSortable_5=true&bSortable_6=true&bSortable_7=true&bSortable_8=true&bSortable_9=false&bSortable_10=false&bSortable_11=false&bSortable_12=false&_='+str(time.time())
r=requests.get(url)
c+=1
print (r.text,'-------------',)
#do whatever you want to do with it, r.text will give the raw data.
です。 – Pranam
あなたは上記のコードで何かを変更しましたか? – Aki003
何私は実際にdidntはそれを試してみてください、私はそれがすべて同じ結果を与える異なるtimestempsでのテストのURLを試していません。 – Pranam