这是我现在的代码:
front_deeplink = ("http://www.jsox.de")
Spider = 20
Region = 7236
def trade_spider(max_pages):
for reg in Region:
page = 0
while page <= max_pages:
page += 1
r = requests.get("http://www.jsox.de/affiliatesearch.aspx?®ionid=" + str(reg) + "&pid=" + str(page))
soup = BeautifulSoup(r.content)
g_data = soup.find_all("div", {"class": "gridHeadOuter productInfoOuter"})
for item in g_data:
Header = item.find_all("div", {"class": "offerInto"})
Header_final = (Header[0].contents[0].text.strip())
price = item.find_all("strong", {"class": "priceBig priceBlock"})
Price_final = (price[0].text.strip())
Deeplink = item.find_all("a")
for t in set(t.get("href") for t in Deeplink):
Deeplink_final = (str(front_deeplink) + t)
print("Header: " + Header_final + " | " + "Price: " + Price_final[:-1] + " | " + "Deeplink: " + Deeplink_final)
trade_spider(int(Spider))
但是,我一直收到错误消息:
for reg in Region:
TypeError: 'int' object is not iterable
当我尝试运行它时。
我做错了什么?
任何人都可以帮助我吗?任何反馈都表示赞赏。
答案 0 :(得分:3)
在您的代码中,您有此声明:
Region = 7236
然后,您尝试这样做:
for reg in Region:
显然,Region
只是一个数字,你不能像在迭代列表上那样迭代它。使用for
遍历列表或其他可迭代对象 - 数字根本不可迭代。
答案 1 :(得分:1)
使用 range()或 xrange(),它们会收到一个int并生成一个可迭代的。