Поиск результатов в Google с использованием Python - PullRequest
0 голосов
/ 17 июня 2020

Я хочу очистить все расстояния в данном изображении результатов Google. Я смог пройти первую дистанцию, но не смог проскрести вторую и третью дистанции. Я использую приведенный ниже код для очистки первого расстояния.

qstr = quote("distance between zip codes 75000 paris and 75016 paris")
url_getallfolders='https://www.google.com/search?q='+qstr
response=requests.get(url_getallfolders)
url_getallfolders
soup=BeautifulSoup(response.content,'lxml')
#print(response.text)
tagc = soup.select("div.kCrYT span")
codes = [i.text.strip() for i in tagc]
print(codes)

Результат Google

1 Ответ

0 голосов
/ 17 июня 2020

Вы можете использовать шаблон регулярного выражения в soup.find(), чтобы найти расстояние (также установите User-Agent Http-заголовок).

Например:

import re
import requests
from bs4 import BeautifulSoup

url = 'https://www.google.com/search?hl=en&q=distance%20between%20zip%20codes%2075000%20paris%20and%2075016%20paris'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0'}
soup = BeautifulSoup(requests.get(url, headers=headers).content, 'html.parser')

print(soup.find(text=re.compile(r'\d+\.\d+\s*km')))

Печать:

15.8 km
...