Я пытаюсь собрать данные из Google Patents и обнаружил, что время выполнения занимает слишком много времени. Как я могу увеличить скорость? Выполнение 8000 патентов заняло уже 7 часов ...
Вот пример патента.
Мне нужно получить данные из таблиц ниже и записать их в CSV-файл. Я думаю, что горлышко бутылки находится на WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[@class='table style-scope patent-result']")))
Это необходимо, или я могу использовать find_elements_by_css_selector и проверить, возвращает ли это что-нибудь?
#...
from selenium.webdriver.support import expected_conditions as EC
#...
## read file of patent numbers and initiate chrome
url = "https://patents.google.com/patent/US6403086B1/en?oq=US6403086B1"
for x in patent_number:
#url = new url with new patent number similar to above
try:
driver.get(url)
driver.set_page_load_timeout(20)
except:
#--write to csv
continue
if "404" in driver.title: #patent number not found
#--write to csv
continue
try:
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='table style-scope patent-result']"))
)
except:
#--write to csv
continue
## rest of code to get data from tables and write to csv
Существует ли более эффективный способ определения наличия этих таблиц на странице патента? Или была бы разница, если бы я использовал BeautifulSoup?
Я новичок в websraping, поэтому любая помощь будет принята с благодарностью:)