Очистка информации с помощью BeautifulSoup - PullRequest
2 голосов
/ 03 апреля 2020

Мне нужно получить информацию о следующих полях:

Website Address 
Last Analysis
Blacklist Status
Domain Registration
Server Location

с этого сайта:

https://www.urlvoid.com/scan/gordonramsay.com/

У меня есть использовал запросы и BeautifulSoup для доступа к веб-сайту и получения информации:

import requests
from bs4 import BeautifulSoup

r = requests.get('https://www.urlvoid.com/scan/gordonramsay.com/')
soup = BeautifulSoup(r.content, 'lxml')

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

Любая помощь приветствуется.

1 Ответ

1 голос
/ 03 апреля 2020

Попробуйте:

tab = soup.select("table.table.table-custom.table-striped")
dat = tab[0].select('tr')
for d in dat:
    row = d.select('td')
    print(row[0].text,' ',row[1].text)

Вывод:

Website Address   Gordonramsay.com
Last Analysis   5 years ago  |   Rescan
Blacklist Status   0/34
Domain Registration   2000-02-03 | 20 years ago
Domain Information    WHOIS Lookup | DNS Records | Ping
IP Address   89.206.225.168   Find Websites  |  IPVoid  |  Whois
Reverse DNS   unallocated.star.net.uk
ASN   AS6656 Star Technology Services Limited
Server Location    (GB) United Kingdom
Latitude\Longitude   51.9864 / -4.5578    Google Map
City   Star
Region   Pembrokeshire

Если вы хотите вывести только 5 указанных c записей, используйте это:

tab2 = soup.select("table.table.table-custom.table-striped tr")
targets = ['Website Address', 'Last Analysis', 'Blacklist Status', 'Domain Registration', 'Server Location']
for t in tab2:
    item = t.select('td')
    if len(item)==2 and item[0].text in targets:
        print(item[0].text, ' ', item[1].text)

Вывод:

Website Address   Gordonramsay.com
Last Analysis   5 years ago  |   Rescan
Blacklist Status   0/34
Domain Registration   2000-02-03 | 20 years ago
Server Location    (GB) United Kingdom
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...