私がやっていることは、回答のためにStackOverflowを検索することです。私はそれがおそらく以前に行われたことを知っていますが、私はもう一度やりたいと思います。 GUIを使用します。とにかく道のりをちょっと進んでいますが、私は今質問に最も多くの票を投じてページにアクセスしようとしています。私は、ネストされたdivに入って最初の答えのリンクを取得する方法を見てしようとしている間に気づいた、私の検索がオフであったと私を間違った場所に連れて行く。私はこれを行うためにBeautifulSoupとRequestsとpython3を使用しています。Pythonリクエストで間違った検索が生成される
#!/usr/bin/env python3
import requests
from bs4 import BeautifulSoup
payload = {'q': 'open GL cube'}
page = requests.get("https://stackoverflow.com/search",params=payload)
print(" URL IS ", page.url)
data = page.content
soup = BeautifulSoup(data, 'lxml')
top = soup.find('a', {'title':'Highest voted search results'})['href']
print(top)
page2 = requests.get("https://stackoverflow.com",params=top)
print(page2.url)
data2 = page2.content
topSoup = BeautifulSoup(data2, 'lxml')
for div in topSoup.find_all('div', {'class':'result-link'}):
print(div.text)
iは、リンクを取得し、それは/検索?タブ=票を出力& Q =オープン%のGL%20cube
が、私はそれが https://stackoverflow.com/?/search?tab=votes&q=open%GL%20cube
Iを行うのparamsでそれを渡すとき/?/
あなたはただそれを何かで置き換えることはできませんか? (okこれは醜いです:)) –
それは私が思うようなエンコーディングと関係があります...それは何らかの理由でそこにランダムに接続します。 – Ian
「https://stackoverflow.com」+「トップ」だけではないのはなぜですか? 'top'の値は' params'の有効な入力型ではないので、最初に解析しないと、期待しているものは得られません。 –