Попытка сканировать страницу результатов поиска Yelp на предмет URL-адресов профиля - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь очистить URL-адреса профилей со страницы результатов поиска Yelp с помощью Beautiful Soup. Это код, который у меня сейчас есть:

url="https://www.yelp.com/search?find_desc=tree+-+removal+-+&find_loc=Baltimore+MD&start=40"

response=requests.get(url)

data=response.text

soup = BeautifulSoup(data,'lxml')

for a in soup.find_all('a', href=True):
   with open(r'C:\Users\my.name\Desktop\Yelp-URLs.csv',"a") as f:
         print(a,file=f)

Это дает мне каждую ссылку href на странице, а не только URL-адреса профилей. Кроме того, я получаю полную строку класса (лимон класса ....), когда мне просто нужен URL-адрес бизнес-профиля.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете сузить ограничение href, используя select.

for a in soup.select('a[href^="/biz/"]'):
    with open(r'/Users/my.name/Desktop/Yelp-URLs.csv',"a") as f:
        print(a.attrs['href'], file=f)
...