python - 我如何抓取公司创始人的姓名以及他们各自的信息(即性别、教育等)???Crunchbase
问题描述
所以我已经在这段代码上工作了一段时间,现在需要提取有关公司创始团队的更多信息:比如创始人是谁,创始人的性别,他们的教育背景(母校) ),以及公司团队的规模。
(这一切都在 crunchbase 上)...我还需要为 EV 行业页面上列出的每家公司提取此信息。
我很擅长弄清楚这些网页元素的 xpath,但是,在导航文本链接时,我无法将信息(从上面)存储在数据框中……更不用说在嵌套循环中完成所有操作了,因为我需要为每个电动汽车公司抓取信息......有什么帮助吗???
#imports
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import pandas as pd
import time
#driver path
PATH = "C:/Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
#access crunchbase ui
driver.get("https://www.crunchbase.com/search/organizations/field/organization.companies/categories/electric-vehicle")
driver.maximize_window()
time.sleep(5)
print(driver.title)
time.sleep(3)
#await element location
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, ('//a[@aria-label="Next"][@aria-disabled="false"][@type="button"]'))))
#next page
page = driver.find_element_by_xpath('/html/body/chrome/div/mat-sidenav-container/mat-sidenav-content/div/search/page-layout/div/div/form/div[2]/results/div/div/div[1]/div/results-info/h3/a[2]')
company_list = [] ###create dictionary
counter = 0
for _ in range(2):
if counter == 1:
break
counter += 1
if page.is_displayed():
time.sleep(25)
#webscrape through iterations
all_rows = driver.find_elements_by_css_selector("grid-row")
for row in all_rows:
companyname = row.find_element_by_xpath('.//*[@class="identifier-label"]')
companyname.click()
time.sleep(25)
company=driver.find_element_by_xpath('.//*[@class="profile-name"]')
ActionChains(driver).move_to_element(company).perform()
company_list.append(company)
print("next")
page.click()
#create dataframe
df = pd.DataFrame(company_list)
解决方案
推荐阅读
- android - 在不使用 onClickListener() 的情况下更改 ListView 项目颜色
- java - JavaFX 图像 getUrl() 在 Excelsior jet 中导致 NoSuchMethodError
- c# - 绑定用户控件 WPF
- sql - 在 Oracle 11g 中选择两个值之间的行
- python - 在理解代码方面需要帮助
- android - 如何每隔一定时间安排一个任务
- html - Building a responsive "centered icons with descriptions" layout
- java - 尝试从 Fragment 切换到 Activity 时出现 TransactionTooLargeException
- javascript - 无法让“Fitty”与 Angular 2+ 一起使用
- mongodb - 如何将增量 mongodb 数据库迁移到生产环境?