Hocam merhaba,
Sayfaların boyutu 300KB civarında hocam. Thread ile nasıl yapabilirim bir örnek verebilirmisiniz kodum üstünden lütfen.
Url leri tam olarak şu şekilde gönderiyorum.
def Render(url):
session = HTMLSession()
resp = session.get(url)
resp.html.render()
kaynak = resp.html.html
return kaynak
def icerikcek(url,urunadi):
f = open('urun.html', 'a')
print("dosya olusturuldu")
kaynak = Render(url)
f.write(str(kaynak.encode("utf-8")))
f.close()
print("dosyaya html yazildi")
soup = BeautifulSoup(open("urun.html","r"),"html.parser")
#print(soup)
print("beatifulsoup calisti")
resimler = re.findall('data-src="(.*?)"', str(soup))
fiyat = re.findall('"price": "(.*?)",',str(soup))
kategori= re.findall("\'item_category(.*?)<\/script>", str(soup))
aciklama = soup.find("div", {"class":"collapse-body"})
aa = aciklama.text.strip().replace("\n"," ").replace(" ","")
katadi = kategori[0].replace("\\': \\'","").replace("\\'\\n});\\n","")
print(urunadi,fiyat[0],katadi,aa)
durum = "hayir"
vendor = "sss"
eskifiyat = "0"
kargo = "0"
for i in resimler:
resimadi = str(uuid.uuid1())
resiadi = resimadi+".jpg"
print("resim",i)
resimacim = resimcekozgunlestir(i,resiadi)
if resimacim !="hata":
kullaniciadi = kadicek()
params = (str(urunadi), str(aa), str(fiyat[0]), str(eskifiyat), str(kargo), str(resimacim ),'none', str(url ), str(vendor),str(katadi).replace("&","-"),'hayir','','','',kullaniciadi.strip())
#print(params)
try:
mycursor = mydb.cursor()
sql = """INSERT INTO admin(urunadi,urunaciklama,fiyat,eskifiyat,kargo,resim,shortlink,url,vendor,kategoriadi,durum,hesap,pinurl,ard,kadi) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) """
mycursor.execute(sql, params)
mydb.commit()
except:
pass
print("Ayni kayıt var ES Gecildi")
else:
print("hata var")
pass
os.remove('urun.html')
print("dosya silindi")
def linkal(url,vendor,sayfa):
browser = webdriver.Firefox()
browser.maximize_window()
for h in range(sayfa):
h += 1
if h == 1:
browser.get(url)
else:
browser.get(url+"&id=1&page="+str(h))
browser.set_page_load_timeout(30)
time.sleep(5)
elem = browser.find_element_by_xpath("//*")
source_code = elem.get_attribute("outerHTML")
f = open('fairyseason.html', 'a')
f.write(str(source_code.encode("utf-8")))
f.close()
browser.quit()
soup = BeautifulSoup(open("linkler.html","r"),"html.parser")
linkler = soup.find_all('a', id=re.compile("^goodsid\_(\d+)"))
#linkler = soup.find_all(re.findall('id="goodsid_59177" href="(.*?)"'))
#linkler = re.findall('goodsid\_(\d+)"(\s+)href="(.*?)"', str(soup))
print(linkler)
cursor = mydb.cursor()
for i, (gg) in enumerate(linkler):
urller = gg['href']
urunadi = gg['title']
print(i,"-",gg['href'],gg['title'])
cursor.execute("SELECT * FROM admin WHERE vendor='"+str(vendor)+"' and url='"+str(urller)+"'")
rows = cursor.fetchall()
if len(rows) >= 1:
print("kayit var")
print(rows)
else:
print("fonskiyon calistir")
icerikcek(urller,urunadi)
os.remove("linkler.html")
url = ""
vendor = ""
sayfa = 5
linkal(url,vendor,sayfa)