Я все еще новичок в python
и я очень новичок в BeautifulSoup
.Я работал над созданием веб-скребка, используя BeautifulSoup
, чтобы входить и разбирать каталоги отделов с веб-сайтов.Каталоги структурированы в виде HTML-таблицы.Как и ожидалось, большинство ячеек имеют теги td
;однако есть случайная ячейка, которая является тегом th
, которую мне также нужно проанализировать.
Большинство этих страниц .aspx
, и я прочитал, что для их очистки веб-драйвернеобходимо.Это мой исходный код, в большинстве случаев BeautifulSoup использовался с запросами, поэтому я не уверен, правильно ли он используется с веб-драйвером.
url = "https://webberathletics.com/staff.aspx"
driver = webdriver.Chrome(r"C:\Users\bobby\OneDrive\Documents\MyPrograms\webdrivers\chromedriver.exe")
driver.implicitly_wait(30)
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
contacts_list = []
Я собираюсь добавить намного больше URL-адресовчтобы разобрать скребок, поэтому я пытаюсь сделать скребок максимально динамичным, то есть он будет очищать таблицы, содержащие строки с ячейкой th
, а другие - нет.Ниже приведено то, что у меня есть в данный момент.
Я хочу, чтобы он проанализировал ячейку, td
или th
.
for row in soup.find_all('tr'):
cells = row.find_all('td', 'th')
if len(cells) > 0:
col1 = cells[0].text.strip()
col2 = cells[1].text.strip()
col3 = cells[2].text.strip()
col4 = cells[3].text.strip()
contact = {'col1': col1, 'col2': col2, 'col3': col3, 'col4': col4}
contacts_list.append(contact)
print(contacts_list)
.на всех, но он работает, поэтому я не уверен, работает ли он правильно или нет.Но даже если он напечатал, я не уверен, правильно ли я поступаю.