Dec-08-2021, 02:19 PM
ok. I will give it a shot. Thanks.
(Dec-08-2021, 02:14 PM)snippsat Wrote:company.select_one()
was just a demo to get one number to get all most use.select()
same as used with companies.
If throw inzip()
can do both in one loop.
import requests from bs4 import BeautifulSoup import time url = "https://www.homeadvisor.com/c.Garage-Garage-Doors.Atlanta.GA.-12036.html" headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)\ AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36" } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, "lxml") companies = soup.select("div.\@mb-2.md\:\@mb-0.\@hidden.md\:\@block > a > h3") phone_numbers = soup.select('span.\@ml-1') for company, phone in zip(companies, phone_numbers): print(company.text.strip(), phone.text.strip())
Output:Doors Over Georgia (678) 798-3712 Tailored Living featuring PremierGarage (404) 946-7940 JJE General Construction (866) 907-7906 Redrock Multi Services, LLC (678) 615-1383 .....