このページをスクラップしようとしていますhttps://www.anesishome.gr/%CE%B2%CF%81%CE%B5%CF%86%CE%B9%CE%BA%CE%AC-159#!/ 最初の5ページでは、各製品の名前と価格が必要です。問題は私のコードが最初のページの結果を5回与えることです。私は次のページのURLを変更していないかのように。私は間違って何をしていますか?ありがとうございました!複数のページをPythonでスクラップすると、最初のページだけが繰り返されます
from urllib.request import urlopen
from bs4 import BeautifulSoup
for i in range(5):
page="https://www.anesishome.gr/%CE%B2%CF%81%CE%B5%CF%86%CE%B9%CE%BA%CE%AC-159#!/page-{}".format(i)
html = urlopen(page)
soup=BeautifulSoup(html, "html.parser")
pin=[None]*240
puk=[None]*240
k=soup.find("ul", class_="product-grid row")
titles=k.find_all("a", class_="product_image")
i=0
for title in titles:
pin[i]=title.get("title")
i=i+1
t=soup.find("ul", class_="product-grid row")
prices=t.find_all("span", class_="price")
i=0
for price in prices:
puk[i]=price.get_text()
i=i+1
x=0
with open('vrefika.txt', 'w') as f:
for x in range(0,i):
print(pin[x])
print("price=",puk[x])
string=pin[x]
f.write(string+"\n")
string=puk[x]
f.write(string+"\n")
を期待宏杰@これは私が何であったかexcactlyです探している。ありがとうございました! – nesi
** "" ...%AC-159#!/ pageの代わりに** "...%AC-159?p = {}"。 - {} "。format(i)" **私のコードでは? – nesi
@dimosbeleハッシュマーク '#'によって導入されたフラグメント識別子は、ドキュメントのURLのオプションの最後の部分です。これは通常、その文書の一部を識別するために使用されます。 '#'はブラウザで処理されますが、通常は気にしません。 –