hereからのデータの解析に興味があります。ただし、url
のアドレスに変更がないため、デフォルトページ以外ではolder
またはnewer
のいずれのデータもparse
できません。どのように私はデフォルトのページ上のそれ以外のデータを取得するつもりですか?私は解決策を見つけるために長い間試してきました、本当に本当に本当に助けに感謝します。私はdevのツールのネットワーク要求を見るに基づきURLが変更されない場合のデータの解析(ページ番号)
答えて
そのウェブサイトがどのように動作:
ページ最初のロードは、それがHTML内の現在のデータをロードします。 URLパラメータ
https://markets.ft.com/data/world/ajax/getnextecoevents?rowId=79519&scrollForward=true&filter=%7B%22keyword%22%3A%22%22%2C%22impact%22%3A%22%22%2C%22countries%22%3A%5B%5D%7D`
注:
rowId, scrollForward, filter
ソリューション:
は、カスタム要求を作成しますが、ページネーションでolder
またはnewer
をクリックして任意の時間は、それがこのURLにGET
要求を行いますを上記のURLに追加しますが、単にrowId
パラメータを減らしたりインクリメントしたりしてページをスクロールします。例えば
: `Network`タブの下のクロムコンソールで
GET https://markets.ft.com/data/world/ajax/getnextecoevents?rowId=79519
GET https://markets.ft.com/data/world/ajax/getnextecoevents?rowId=79520
GET https://markets.ft.com/data/world/ajax/getnextecoevents?rowId=79521
素晴らしい!どうもありがとう。あなたは私と一緒に共有することができます、あなたはこのURLのアドレスを正確に見つけましたか?私はネットワークタブの下に(検査要素の下で)見ましたが、私はそれを見つけることができません –
確かに。ネットワークタブを見て、 'old'または' newer'を押してGETリクエストを起動してください。 'XHR'フィルタの下に表示されるべきです(または' All'をフィルタリングするだけです)。 – Acidic
それを得ました!ありがとうございました –
urls
を解析するためlxml
とrequests
とpython 3.6
を使用しています、あなたは、デフォルトのページに新しい日付を選択すると、以下のGET要求がなされていることがわかります。
ベースURL:
https://markets.ft.com/data/world/ajax/getnextecoevents?
クエリパラメータ(あなたは、フィルタのdictをURLENCODEする必要があります)
startDate=2017-09-04&filter={"keyword":"","impact":"","countries":[]}
これで、必要な日付をリクエストし、urllibを使用して残りのフィルタパラメータをurlencodeします。これはあなたが必要とするものを得るはずです。
- 1. データのフィルタリング時にページ番号が変更されない
- 2. 番号が変更された場合のWebフォームの要素の変更
- 3. 解析番号()
- 4. 解析番号
- 5. PHP:URL $ページの値がページ番号の整数でない場合ページ1にリダイレクト
- 6. ページ番号のリンクが表示されないページ番号のリンクが表示されない
- 7. ページ番号が表示されない
- 8. urlパラメータが変更された場合のURLのリフレッシュ
- 9. FParsecの番号の解析
- 10. jEditable:データが変更されていない場合
- 11. Jenkinsのビルド番号がデータと時刻に変更される
- 12. 値が変更されない場合のbackbone.jsの変更
- 13. データベース内のデータが変更された場合、自動更新ページ
- 14. データテーブルで10個以上のレコードが表示されている場合はページ番号が表示されます。ページ番号は表示されません
- 15. データが変更されていない場合のNVD3 - 再描画/更新チャート
- 16. データソースがマルチページリクエストをサポートしている場合のページ番号
- 17. URLのページ番号cakephp
- 18. htmlページの解析と解析されたデータの別のページへの送信
- 19. Laravel AJAXとURLなしのページ番号
- 20. application.yml番号プロパティが変更され
- 21. viewPagerのページ番号を変更してください
- 22. LUISビルトイン番号エンティティ解析
- 23. アルゴリズム解析:ランダム番号
- 24. ブラウザが更新された場合、URLを変更します
- 25. 反応ページがURLクエリの変更で再レンダリングされない
- 26. アクティブなページの色を変更する(ページ番号)
- 27. アクティビティのテーマが変更された場合の解決
- 28. Springboot JPA Pageableがページ番号より大きい場合0
- 29. httpがhttpsに変更されない場合の問題を解決する
- 30. UNIXの番号のファイルの解析
ルックと' older'または 'newer'をクリックして作られているものの要求を監視します。それは助けるかもしれない? – Acidic
新しいURLがこのURLと呼ばれていたときはいつでも、新しいデータが必要になるたびにrowIdを変更してください。 https://markets.ft.com/data/world/ajax/getnextecoevents?rowId=79501&scrollForward=true&filter=%7B% 22キーワード22%3A%22%22%2C%22%22%3A%22%22%2C%22%22%3A%5B%5D%7D – MMRahman