因此,我希望遍历URL数组并打开其他URL以使用Selenium进行Web抓取。问题是,当我点击第二个browser.get(url)时,我得到“ URL超过最大重试次数”和“由于目标计算机主动拒绝而无法建立连接”。
编辑:添加了其余的代码,尽管这只是BeautifulSoup的东西。
from bs4 import BeautifulSoup
import time
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
import json
chrome_options = Options()
chromedriver = webdriver.Chrome(executable_path='C:/Users/andre/Downloads/chromedriver_win32/chromedriver.exe', options=chrome_options)
urlArr = ['https://link1', 'https://link2', '...']
for url in urlArr:
with chromedriver as browser:
browser.get(url)
time.sleep(5)
# Click a button
chromedriver.find_elements_by_tag_name('a')[7].click()
chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
for i in range (0, 2):
chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
html = browser.page_source
page_soup = BeautifulSoup(html, 'html.parser')
boxes = page_soup.find("div", {"class": "rpBJOHq2PR60pnwJlUyP0"})
videos = page_soup.findAll("video", {"class": "_1EQJpXY7ExS04odI1YBBlj"})
这里的其他帖子说,当您一次使用太多页面并且服务器将我拒之门外时,会发生这种情况,但这不是我的问题。每当我多次调用browser.get(url)时,都会发生上述错误。
怎么回事?谢谢。
答案 0 :(得分:0)
解决了问题。您必须再次重新创建网络驱动程序。
private void selectionSort() {
int best = 0;
int j = 0;
SortableRobot bestSoFar = botList.get(0);
for(int i = 0;i<botList.size();i++) {
int[] temp = botList.get(j).getLocation();
for(int x = j;x<botList.size();x++) {
if(botList.get(j).compareTo(botList.get(x)) < 0) {
// botList.get(j).moveToLocation(botList.get(x).getLocation());
// botList.get(x).moveToLocation(temp);
bestSoFar = botList.get(x);
best = x;
}
}
SortableRobot tempbot = botList.get(j);
botList.set(best,tempbot);
botList.set(j, bestSoFar);
j++;
}
}