ich habe versucht multiple Seiten aus einer Webpage zu crawlen, was mir auch gelungen ist. Im nächsten Schritt würde ich gerne zwei Variablen miteinander verknüpfen.
D.h. mein Ziel wäre es, das wenn ich nach der RegionID= 7236 crawle, das mir das System automatisch die partnerID = 2 wiedergibt und wenn ich die RegionID = 7665 crawle, das ich dann die partnerID = 3 zurück bekomme u.s.w
Das ist mein Code:
Code: Alles auswählen
front_deeplink = ("http://www.spasso.com")
RegionID = [7236, 7665, 6543, 6666]
for page in range(1,20):
r = requests.get("http://www.spasso.com/affiliatesearch.aspx?®ionid=" + str(RegionID) + "&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)
partner_ID = 2
print("Header: " + Header_final + " | " + "Price: " + Price_final[:-1] + " | " + "Deeplink: " + Deeplink_final + " | " + "PartnerID: " + str(partner_ID))
Code: Alles auswählen
Header: 1-hour Berlin Sightseeing Cruise | Price: 12.50 | Deeplink: http://www.spasso.com/productinfo.aspx?id=25779 | PartnerID: 2
Header: Washington DC Open Top Hop-On Hop-Off Tour & Madame Tussauds Ticket | Price: 46.49 | Deeplink: http://www.spasso.com/productinfo.aspx?id=23589 | PartnerID: 2
Daher sollte der Output idealerweise so aus sehen:
Code: Alles auswählen
Header: 1-hour Berlin Sightseeing Cruise | Price: 12.50 | Deeplink: http://www.spasso.com/productinfo.aspx?id=25779 | PartnerID: 2
Header: Washington DC Open Top Hop-On Hop-Off Tour & Madame Tussauds Ticket | Price: 46.49 | Deeplink: http://www.spasso.com/productinfo.aspx?id=23589 | PartnerID: 3
Mir ist bewusst, das ich das mit einerm If else Statement lösen könnte, aber da ich eine Menge von RegionIDs haben würde, würde ich es gerne effizienter gestalten.
Zudem habe ich es auch mit zwei Listen versucht, was aber auch nicht funktioniert hat.
Code: Alles auswählen
RegionID = [7236, 7665, 6543, 6666]
partner_ID = [2, 3, 4, 5]