开发者社区> 问答> 正文

为什么我的循环变量不能转换为字符串?

我已经编写了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

展开
收起
is大龙 2020-03-23 21:41:35 588 0
1 条回答
写回答
取消 提交回答
  • 检查您的进口。很可能str()是从Soup库本地导入的,或者是在全局范围内对其进行了“猴子补丁”的。

    回答来源:stackoverflow

    2020-03-23 21:41:43
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载