我已经编写了Python代码,以便从网站上抓取某些年。为此,我创建了一个for循环来迭代这些年,并使用该字符串导航到该网站。见下文:
from selenium import webdriver
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import pandas as pd
URL = 'url'
for year in range(2012,2021):
type(year)
stryear = str(year)
driver.get(URL + stryear)
content = driver.page_source
soup = BeautifulSoup(content,features="lxml")
#Rest of code
由于某种原因,第一次迭代就可以了。运行调试模式时,我看到在第二次迭代中,变量year是一个值为2013的整数(符合预期)。但是,变量stryear的类型为{Resultset:0} [],来源为{SoupStrainer} 2013 | {}。
显然,我没有在代码的其他任何地方声明stryear。我需要stryear是包含年份的字符串。为什么可变stryear的行为不符合我的预期?
问题来源:stackoverflow
检查您的进口。很可能str()
是从Soup库本地导入的,或者是在全局范围内对其进行了“猴子补丁”的。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。