我试图运行以下代码:
# -*- 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中执行得很好
这可能是什么问题?
答案 0 :(得分:3)
您在代码中重复使用link
:
link = "https://www.emploi-public.ma/ar/index.asp?p="
和
for link in soup.find_all("a"):
后者使用替换第一个link
引用,因此它不再是字符串对象而是Tag
对象。
不要掩盖这样的变量,重命名其中一个。也许第一次使用可以命名为base_url
?