なんらかの理由で、Pythonライブラリの '要求'を使用すると、GET要求にwebsiteのhtmlコードが要求されます。完全なHTMLコードは返されません。リクエストでGETをリクエストするときに完全なhtmlコードを取得できない理由
何が起こっていますか?
import re
import requests
url = 'https://www.aliexpress.com/item/Dragon-Ball-Z-Mug-SON-Goku-Mug-Hot-Changing-Color-Cups-Heat-Reactive-Mugs-and-Cups/32649664569.html'
mess = requests.get(url)
print(mess.text, '\n', '_'*20)
approved = []
images = re.findall(r'(?<=src=")[a-zA-Z0-9 \/\\,._-]+(?=")', mess.text)
for image in images:
print(image)
base, ext = image.rsplit('.', 1)
if ext == 'png' or ext == 'jpg' or ext == 'JPG':
approved.append(image)
出力:
//u.alicdn.com/js/aplus_ae.js
//i.alicdn.com/ae-header/20170208145626/buyer/front/ae-header.js
この写真がjpgである属性 'SRC' と 'IMG' タグが存在することを示しています。しかし何らかの理由で、出力には取り込まれません。 HTMLコンテンツから要素を取得するために
[HTMLを解析するために正規表現を使用しない](http://stackoverflow.com/a/1732454/2482744) BeautifulSoupを使用してください。 –
多くの(ほとんどの?)現代のウェブサイトには、Javascript経由でオンザフライで生成される動的コンテンツが含まれています。このコンテンツは 'GET'リクエストに対する応答では利用できません。このような状況に遭遇している可能性があります。 – larsks
@larsksで解決するべきことは何ですか? –