这是我现在的代码:
import requests
from bs4 import BeautifulSoup
def getdata(url):
r = requests.get(url)
return r.text
htmldata = getdata("https://www.piggyback.com/online-guide/final-fantasy-x/de/")
soup = BeautifulSoup(htmldata, 'html.parser')
for item in soup.find_all('img', class_="ImgBitmap__image___29vcf"):
print(item['src'])
我猜我做错了什么。如果您需要任何详细信息,请询问。当你这样做时,你能教我如何下载该源吗?意思是下载该网站的所有图像。 :D
问题是页面是从底层 PDF 文档渲染的(因此 beautifulsoup 看不到任何图像)。
但是,您可以使用
requests
下载 PDF 文件(然后如果需要,您可以将 PDF 文件转换为图像作为下一步):
import re
import requests
url = "https://www.piggyback.com/online-guide/final-fantasy-x/de/"
html_text = requests.get(url).text
pdf_url = re.search(r'url: "([^"]+)', html_text).group(1)
headers = {"Referer": "https://www.piggyback.com/"}
print(f"Downloading {pdf_url} ...")
with open(pdf_url.split("/")[-1], "wb") as f_out:
f_out.write(requests.get(pdf_url, headers=headers).content)
print("Done ...")
打印:
Downloading https://storage-cdn.piggyback.com/storage/media/online-guide/final-fantasy-x/de/Final_Fantasy_X_Das_offizielle_Loesungsbuch.pdf ...
Done ...
并下载~168MB
Final_Fantasy_X_Das_offizielle_Loesungsbuch.pdf