driver = webdriver.Chrome(r'XXXX\chromedriver.exe')
FB_bloomberg_URL="https://www.bloomberg.com/quote/FB:US"
driver.get(FB_bloomberg_URL)
eList = driver.find_elements_by_class_name('link__f5415c25')
hrefList = []
for e in eList:
hrefList.append(e.get_attribute('href'))
for href in hrefList:
print(href)
我有上面的编码来使用 Selenium - python 提取 href 链接。我想提取每个人的个人资料“董事会成员资格”中的内容。我知道如何一一提取它们,但不知道如何编写循环来执行此操作。
这是我的代码:
driver2 = webdriver.Chrome(r'XXXX\chromedriver.exe')
driver2.get("https://www.bloomberg.com/profiles/people/15103277-mark-elliot-zuckerberg")
boardmembership_table=driver2.find_elements_by_xpath('//*[@id="root"]/div/section/div[5]')[0]
boardmembership_table.text
任何想法都值得赞赏!
最佳答案
您基本上只需将第二个部分附加到 for 循环下的第一个部分即可:
import sys
from selenium import webdriver
driver = webdriver.Firefox()
FB_bloomberg_URL="https://www.bloomberg.com/quote/FB:US"
driver.get(FB_bloomberg_URL)
eList = driver.find_elements_by_class_name('link__f5415c25')
hrefList = []
for e in eList:
hrefList.append(e.get_attribute('href'))
for href in hrefList:
--print(href)
driver.get(href)
boardmembership_table=driver.find_elements_by_xpath('//*[@id="root"]/div/section/div[5]')[0]
boardmembership_table.text
奖励:以下是如何使用正则表达式(import re
)从 URL 中提取人员姓名,并将董事会成员资格表添加到字典中。
result_dict = {}
regex = r"\/people\/\d+-(.*)$"
for href in hrefList:
driver.get(href)
boardmembership_table=driver.find_elements_by_xpath('//*[@id="root"]/div/section/div[5]')[0]
matches = re.finditer(regex, href, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
result_dict[match.group(1)] = boardmembership_table.text
这应该会给你一个良好的开端。
关于python - 如何使用 Selenium 抓取多个 URL 的内容? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56927888/