Как собрать информацию из нескольких подссылок очищенного URL BeautifulSoup? - PullRequest
0 голосов
/ 07 апреля 2020
 import requests
 from bs4 import BeautifulSoup as Soup

 page = requests.get('https://salesweb.civilview.com/Sales/SalesSearch?countyId=15')
 soup = Soup(page.content, 'html.parser')

 details = soup.find_all('a')
 #print(details[0])
 details_arr = []
 for i in details:
   details_arr.append()

Страница является ссылкой. На странице есть «подробности», которые при нажатии go на другую ссылку. Если я хочу очистить информацию от ссылок на детали, как мне это сделать, не копируя и не вставляя каждый веб-сайт вручную?

1 Ответ

0 голосов
/ 07 апреля 2020
import requests
from bs4 import BeautifulSoup as bs
from urllib.parse import urljoin

URL  = 'https://salesweb.civilview.com/Sales/SalesSearch?countyId=15'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"}

page = requests.get(URL,headers=headers)
soup = bs(page.content, 'html.parser')

#get all the links within the first column 
details = soup.select('td[class="hidden-print"] a')
#loop through them and convert the link from relative link to absolute 
details_urls  = [urljoin(URL,link.get('href')) for link in details]
print(details_urls)

Выход:

['https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571155', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571157', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571158', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571159', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571163', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571164', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571165', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571168', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571169', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571171', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571172', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571173', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571174', 'https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=853571175', ...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...