1
Ich versuche, die Links von einer Google-Suche mit bs4 zu greifen, aber mein Code gibt einen leeren Satz zurück.Python 2.7 BeautifulSoup4 gibt einen leeren Satz zurück
import requests
from bs4 import BeautifulSoup
website = "https://www.google.co.uk/?gws_rd=ssl#q=science"
response=requests.get(website)
soup = BeautifulSoup(response.content)
link_info = soup.find_all("h3", {class": "r"})
print link_info
Die <h3 class="r">
ist, wo die Links für alle Ergebnisse sind nicht nur die Verbindung für das erste Ergebnis.
Als Antwort bekomme ich []
und dies ist für jede andere Klasse ich versuche, einschließlich <div class="rc">
anzufragen.
ist hier ein prt sc von dem, was ich nach bin,
Mögliche Duplikat folgenden [Scrapy: Google Crawl nicht funktioniert] (http : //stackoverflow.com/questions/33395133/scrapy-google-crawl-doesnt-work) – eLRuLL
Die Abfrage ist POST-Anforderung, nicht GET. Sie sollten die POST-Anfrage verwenden und q in post params wie unten erwähnt setzen. Um es besser zu verstehen, öffnen Sie inspect Element im Browser, öffnen Sie die Registerkarte Netzwerk und senden Sie die Anfrage. Sie sehen dort eine Liste der URL-Treffer. Klicken Sie auf einen von ihnen und Sie werden mehr über Ihre Anfragen sehen. Es wird Optionen wie Params, Header, Cookies geben. Params sind die Post-Parameter, die an den Server gesendet werden. Wenn es eine GET-Anfrage ist, wird es normalerweise keine Params geben – theBuzzyCoder