我试图从sciencedirect网站上搜集数据。 我试图通过创建一个XPath列表并循环访问一个接一个的日志问题来自动化刮取过程。 当im运行循环时,在访问第一个日志后,im无法访问其余元素。 这个过程在另一个网站上对我有效,但在这个网站上不起作用
我还想知道,除了这个过程之外,还有没有更好的方法访问这些元素
#Importing libraries
import requests
import os
import json
from selenium import webdriver
import pandas as pd
from bs4 import BeautifulSoup
import time
import requests
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#initializing the chromewebdriver|
driver=webdriver.Chrome(executable_path=r"C:/selenium/chromedriver.exe")
#website to be accessed
driver.get("https://www.sciencedirect.com/journal/journal-of-corporate-finance/issues")
#generating the list of xpaths to be accessed one after the other
issues=[]
for i in range(0,20):
docs=(str(i))
for j in range(1,7):
sets=(str(j))
con=("//*[@id=")+('"')+("0-accordion-panel-")+(docs)+('"')+("]/section/div[")+(sets)+("]/a")
issues.append(con)
#looping to access one issue after the other
for i in issues:
try:
hat=driver.find_element_by_xpath(i)
hat.click()
sleep(4)
driver.back()
except:
print("no more issues",i)
要从sciencedirect网站https://www.sciencedirect.com/journal/journal-of-corporate-finance/issues中获取数据,可以执行以下步骤:
首先打开所有的手风琴
然后在adjustant TAB中使用Ctrl+
click()
打开每个问题下一步^{} the newly opened tab 并刮取所需内容
代码块:
控制台输出:
参考资料
您可以在以下内容中找到一些相关的详细讨论:
相关问题 更多 >
编程相关推荐