python-3.x - Errno 2. 没有这样的文件或目录。美丽的汤链接与可变变量
问题描述
我尝试从具有多个页面的网站中提取数据。我的想法是使用一个使用可用页面数的循环。
因此,我为此目的使用带有变量的链接。但它不适用于 bs4,我不明白为什么。相同的链接适用于方法“driver.get”,但对于“美丽的汤”,会出现错误 [Errno 2]。
#First time data upload from the site
driver = webdriver.Firefox()
driver.get("https://www.site.ca/dried")
doc = BeautifulSoup(driver.page_source, "html.parser")
results = doc.find("div", {"class": "row js-equalize"})
links = results.findAll("a")
#Calculation of the total amount of available pages and creation of a loop
for lis in results.find_all('ul', attrs={"class" : "pull-right pagination"}):
p = lis.text.replace("Page ","")
p = re.sub('[^0-9]+', '', p)
for i in range(len(p)):
j=i+1
driver.get("https://www.site.ca/dried-?page="+str(j))
wait = WebDriverWait(driver, 500000)
list_of_sku = []
soup = BeautifulSoup(open('https://www.site.ca/dried-?page='+str(j)), "html.parser")
这是我得到的错误。当我单击下面的链接时,它运行良好。(出于隐私目的更改了网站名称)
soup = BeautifulSoup(open('https://www.site.ca/dried-?page='+str(j)), "html.parser")
FileNotFoundError: [Errno 2] No such file or directory: 'https://www.site.ca/dried-?page=1'
Process finished with exit code 1
谁能向我解释如何避免这个问题?
解决方案
推荐阅读
- sql - 从第 1 行开始将行从一个表插入到另一个表?
- reactjs - 映射数据返回相同的值 - 盖茨比
- java - 为什么主活动没有触发监听器?
- php - Docker + Laravel 问题 [SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution]
- sql - SQL中如何根据涉及多个日期的不同条件选择结果?
- dataframe - VarcharType 不匹配 Spark 数据框
- android - 在 android 5 (API 21) 上忽略了 clipToPadding 属性
- powershell - 选项去哪儿了?
- php - 如何订购“斑马”数组,以便每个键都有一个备用值(1、0)
- javascript - 在控制台中记录 performance.now()