ブックメーカーのベットを Web ページから直接クロールしたい. 現在、unibet.com というプロバイダーから見積もりを取得しようとしています。問題: 必要な見積もりを適切にフィルタリングするために、投稿リクエストを送信する必要があります。
したがって、次のウェブページにアクセスします https://www.unibet.com/betting/grid/all-football/germany/bundesliga/1000094994.odds#ここで、ベットセクションの上部にいくつかのチェックボックスがあります. 「一致」の代わりにすべてのボックスのチェックを外します。次に、更新ボタンをクリックして、投稿リクエストをクロムで記録しました。次のスクリーンショットは、送信される内容を示しています。
その後、一致の引用符のみを含むフィルタリングされた結果が得られます。
今、私はこれらの引用符が欲しいだけです. したがって、次の python コードを書きました。
req = urllib2.Request( 'https://www.unibet.com/betting/grid/grid.do?eventGroupIds=1000094994' )
req.add_header("Content-type", "application/x-www-form-urlencoded")
post_data = [ ('format','iframe'),
('filtered','true'),
('gridSelectedTab','1'),
('_betOfferCategoryTab.filterOptions[1_604139].checked','true'),
('betOfferCategoryTab.filterOptions[1_604139].checked','on'),
('_betOfferCategoryTab.filterOptions[1_611318].checked','false'),
('_betOfferCategoryTab.filterOptions[1_611319].checked','false'),
('_betOfferCategoryTab.filterOptions[1_611321].checked','false'),
('_betOfferCategoryTab.filterOptions[1_604144].checked','false'),
('_betOfferCategoryTab.filterOptions[1_624677].checked','false'),
('_betOfferCategoryTab.filterOptions[1_604142].checked','false'),
('_betOfferCategoryTab.filterOptions[1_604145].checked','false'),
('_betOfferCategoryTab.filterOptions[1_611322].checked','false'),
('_betOfferCategoryTab.filterOptions[1_604148].checked','false'),
('gridSelectedTimeframe','')]
post_data = urllib.urlencode(post_data)
req.add_header('Content-Length', len(post_data ))
resp = urllib2.urlopen(req, post_data )
html = resp.read()
問題: フィルタリングされた結果の代わりに、すべてのチェックボックスがチェックされているかのように、すべてのクオートとベット タイプの完全なリストを取得します。Python リクエストがフィルタリングされていないデータを返す理由がわかりません。