Почему моя переменная цикла не преобразуется в строку? - PullRequest
2 голосов
/ 13 марта 2020

Я написал код Python, чтобы вычистить его с веб-сайта в течение определенных лет. С этой целью я создал для l oop итерацию по годам и использую строку для перехода на веб-сайт. См. Ниже:

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 работает не так, как я ожидал?

1 Ответ

1 голос
/ 13 марта 2020

Проверьте ваш импорт. Скорее всего, str() был либо импортирован локально из библиотеки Soup, либо получил monkey patched глобально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...