オンラインニュース記事を指す約10.000のURLリストがあります。 Requests-Library(Python 3.5)を使って、これらのニュース記事のhtmlコンテンツをスクラップするコードを書いています。目標は、可読性モジュールを使用して記事のコンテンツを取得し、それに関するさらなる分析を実行することです。これはほとんどの場合に有効です。しかし、すべてのウェブサイトはオランダ語であるため、EUの方針に従い、クッキーの使用を同意する必要があると述べています。そのうちのいくつか、例えばhttp://telegraaf.nlは、ユーザーがボタンをクリックしなければならない別のページをロードすることによってこれを行います。この場合、私は、ヘッダにクッキーを渡すことによって、通常の記事の内容を取得することができます。Pythonを使用して異なるWebサイトに設定するクッキーを確認してください
import requests
user_agent = 'Mozilla/5.0'
url = 'http://www.telegraaf.nl/dft/geld/werk-inkomen/27740808/__Vechten_om_werk_in_noorden__.html'
cookies_telegraaf = {'TMGCOOKIE': '{%22version%22:%22t3%22}'}
html = requests.get(url, headers={"User-Agent": user_agent}, cookies=cookies_telegraaf)
print(html.content)
これは私が必要とするHTMLコンテンツを印刷します。問題は、すべてのサイトが異なるCookieを必要とすることです。だから私の質問です:ブラウザに手動でチェックインすることなく、各Webサイトのヘッダーにどのような特定のクッキーを渡すかを見つける方法はありますか?
ありがとうございました。
ありがとうございました。クッキーがなくても、別のページがないサイトでも、同意してもらうことができます。クッキーにアクセスするためのあなたの方法はうまくいきません。ウェブページからのクッキーを受け入れることを意味する特定のクッキーを積極的に設定する必要があります(私はここで皮肉にはなりません)。場合によっては 'accept_cookies'が '1'に設定されている場合もあり、別のサイトでは異なる書式が使用されることがあります。私が現在知っている唯一の方法は、「クッキーを受け入れる」ボタンをクリックし、ブラウザ設定をチェックして新しいクッキーが設定されているかどうかを確認することです。 – Kevin
@Kevinそうであれば、おそらく 'selenium'のようなライブラリを使ってブラウザをシミュレートする必要があります。ページの受け入れボタンに共通の要素がありますか?「input type = 'submit'」などのようなものがありますか?もしそうなら、それらを自動的にクリックしてクッキーを受け取るようにセレンにピンポイントしようとすることができますか? –
ありがとう、私はセレンを試して、結果を報告します。残念ながら、ボタンを使う人もあれば、ハイパーリンクを使う人もいます。しかし、通常、ページには1つか非常に少ないものしかないので、少しの余分なコーディングがその仕事をするかもしれません。私がもっと知っているとき、私はあなたに知らせるでしょう。 – Kevin