Я делаю сканер этих страниц энциклопедии, и есть некоторые ошибки сканирования селена и источника таблицы.
Во-первых, в этой винной энциклопедии содержится более 100.000 содержимого, поэтому я использовал «для».Во-вторых, этот сканер должен открывать и сканировать каждую подробную страницу, поэтому я попытался использовать драйвер Selenium Chrome.В-третьих, таблица на подробной странице не имеет идентификатора или имени класса, поэтому я написал эти коды.Когда я запускаю этот сканер, на странице chrome нет содержимого, и эти коды не работают.
driver = webdriver.Chrome('./chromedriver.exe')
req1 = requests.get('https://terms.naver.com/list.nhn?cid=48159&categoryId=48159&page={}'.format(page))
driver.get(req1)
driver.implicitly_wait(5)
коды сканирования селена и таблицы
import requests
from bs4 import BeautifulSoup as BS
import time
from selenium import webdriver
import pandas as pd
for page in [1.2]:
driver = webdriver.Chrome('./chromedriver.exe') #error
req1 = requests.get('https://terms.naver.com/list.nhn?cid=48159&categoryId=48159&page={}'.format(page))
driver.get(req1)
driver.implicitly_wait(5)
soup = BeautifulSoup(html, "html.parser")
link = soup.find_all('a')
for list in link: #detail pages of encyclopedia
req2 = requests.get('div.view_list_wrap view_list_4>ul>li.view_list_item>div>div.info_area>strong>a')
driver.get(req2)
openElement = driver.findElement(By.linkText("req2")).click() #move to each detail pages
w_list = html.select('div[1]>div[3]>div[1]>div[2]>div[2]>div>div>div[2]>div>table') #XPath address of detail page
title = soup.find('h2',{'class':'headword'}).text #name of wine in detail page
exp=soup.find('p',{'class':'txt'}).text #explanation of wine in detail page
for tr in w_list : #information table of wine(type,use etc.)
one = tr.find('td').find('a').text
two = tr.find('td').find('a').text
three = tr.find('td').find('a').text
four = tr.find('td').find('a').text
five = tr.find('td').find('a').text
six = tr.find('td').find('a').text
seven = tr.find('td').find('a').text
eight = tr.find('td').find('a').text
nine = tr.find('td').find('a').text
ten = tr.find('td').find('a').text
eleven = tr.find('td').find('a').text
twelve = tr.find('td').find('a').text
thirteen = tr.find('td').find('a').text
fourteen = tr.find('td').find('a').text
fifteen = tr.find('td').find('a').text
sixteen = tr.find('td').find('a').text
seventeen = tr.find('td').find('a').text
eighteen = tr.find('td').find('a').text
nineteen = tr.find('td').find('a').text
print( 'type:',one, 'use:',two )
data = {'type:',one, 'use:',two}
df = pd.DataFrame(data)
df.head()
df.to_csv('./wine_list.csv', sep=',', encoding='EUC-KR') #save as csv file
TypeError Traceback (последний из последних вызовов) в () 28 driver = webdriver.Chrome ('./ chromedriver.exe') 29 req1 = reports.get ('https://terms.naver.com/list.nhn?cid=48159&categoryId=48159&page={}'.format(page)) ---> 30 driver.get(req1) 31 driver.implicitly_wait (5)