由于 PyCharm 返回的不兼容操作数错误,2 个字符串的串联失败

Concatenation of 2 strings failing because of incompatible operands error returned by PyCharm

我正在尝试 运行 以下代码:

# -*- coding: utf8 -*-
import requests
from bs4 import BeautifulSoup
link = "https://www.emploi-public.ma/ar/index.asp?p="
number_of_jobs = 0
houceima = u"الحسيمة"
print type(houceima)
for i in range(1,3):
    page_link = link+str(i)
    print page_link
    emp_pub = requests.get(page_link)
    soup = BeautifulSoup(emp_pub.content,"lxml")
    for link in soup.find_all("a"):
        if houceima in link :
            print link

但我收到以下错误:

Traceback (most recent call last):
  File "scrape_houceima", line 9, in <module>
    page_link = link+str(i)
TypeError: unsupported operand type(s) for +: 'Tag' and 'str'

我正在使用 PyCharm。我说我的 IDE 因为相同的连接 page_link = link+str(i) 在 IDLE 中执行得很好。
这可能是什么问题?

您在代码中重复使用了 link

link = "https://www.emploi-public.ma/ar/index.asp?p="

for link in soup.find_all("a"):

后者使用替换第一个link引用,所以它不再是一个字符串对象而是一个Tag对象。

不要像那样屏蔽变量,重命名一个或另一个。也许第一次使用可以命名为 base_url?