由于 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
?
我正在尝试 运行 以下代码:
# -*- 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
?