私はpythonリクエストライブラリを使ってgoogleからクエリを出しています。しかし、それは動作していません。私がここに投稿する前に、私はstackoverflow hereの別のポストを見つけましたが、どちらもうまくいきませんでした。私はあなたがGoogleを使用してURLのクエリを行うことができる方法で変わったと思うが、私はそれが何であるかわからないので、とても新しいです。 HERESに私のコード私はPythonリクエストライブラリを使ってdjangoのGoogleクエリを作ろうとしていますが、動作していません。
def index(request):
url = ('https://www.google.com/webhp?hl=en#hl=en&q=stackoverflow')
google = requests.get(url)
bs = BeautifulSoup(google.content)
d = bs.title.string
links = []
for link in bs.findAll('a'):
links.append((
link.text,
link.get('href'),
# link.get('src')
)
)
# return HttpResponse('<pre>' + r.text + '</pre>')
context = {
"links": links,
}
return render(request, 'index.html', context)
と私のテンプレートで
{% for l in links %}
{{l}}<br>
{% endfor %}
が、これは、出力
('https://maps.google.com/maps?hl=en&tab=wl',)
('https://play.google.com/?hl=en&tab=w8',)
('https://www.youtube.com/?hl=en&tab=w1',)
('https://news.google.com/nwshp?hl=en&tab=wn',)
('https://mail.google.com/mail/?tab=wm',)
('https://drive.google.com/?tab=wo',)
('https://www.google.com/intl/en/options/',)
('http://www.google.com/history/optout?hl=en',)
('/preferences?hl=en',)
('https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/webhp%3Fhl%3Den',)
('/search?site=webhp&ie=UTF-8&q=Jane+Jacobs&oi=ddle&ct=jane-jacobss-100th-birthday-5122456077467648-hp&hl=en&sa=X&ved=0ahUKEwjinsHMgMHMAhVKPz4KHVX_CLsQNggD',)
('/advanced_search?hl=en&authuser=0',)
('/language_tools?hl=en&authuser=0',)
('/intl/en/ads/',)
('/services/',)
('https://plus.google.com/116899029375914044550',)
('/intl/en/about.html',)
('/intl/en/policies/privacy/',)
('/intl/en/policies/terms/',)
ですこれは、Googleのホームページのようですが、それは私が照会ものと一致していません。私はstackoverflowと関係がある記事のリストを取得する必要があります。これをどうすれば解決できますか?明確にするには、私の選択肢のクエリを使ってgoogleに問い合わせて、リンクを掻きとってテンプレートに表示したいのです
Googleは検索結果をかなり保護しています。プログラムによるアクセスを積極的に検出しています(もしあなたがキャプチャを表示し、 。本当にそのルートに行きたい場合は、リダイレクトに従うことができ、クッキーを維持し、潜在的にjsを実行できるより強力なhttpクライアントを必要とするでしょう。したがって、フル機能のブラウザエミュレーションです。 – serg