Python Crawling- TypeError: 'int' object is not iterable
Python Crawling- TypeError: 'int' object is not iterable
这是我现在的代码:
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
当我尝试 运行 这个时。
我做错了什么?
有人可以帮我吗?感谢任何反馈。
在您的代码中有以下声明:
Region = 7236
那么,你试试这样做:
for reg in Region:
显然,Region
只是一个数字,您不能像遍历列表那样遍历它。使用 for
遍历列表或其他可迭代对象 - 数字根本不可迭代。
使用 range() 或 xrange(),它们接收一个 int 并产生一个 iterable。
这是我现在的代码:
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
当我尝试 运行 这个时。
我做错了什么?
有人可以帮我吗?感谢任何反馈。
在您的代码中有以下声明:
Region = 7236
那么,你试试这样做:
for reg in Region:
显然,Region
只是一个数字,您不能像遍历列表那样遍历它。使用 for
遍历列表或其他可迭代对象 - 数字根本不可迭代。
使用 range() 或 xrange(),它们接收一个 int 并产生一个 iterable。