Получая другое значение при получении изображения "sr c" с BeautifulSoup в Python, чем когда я проверяю его "sr c" в браузере - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь разобрать сайт для солнцезащитных очков. Я уже установил цену, марку и значения модели, но теперь я пытаюсь сделать снимки для каждого солнцезащитного стекла, но это не имеет значения.

Когда я перехожу на указанную c страницу изображений солнцезащитных очков и проверяю sr c для изображения, я вижу это значение:

src = //img1-image.cdnsbg.com/hashImg/46e1db3236.jpg_w450h225

Но когда я использую BeautifulSoup, чтобы получить sr c для того же изображения, я получаю это значение вместо:

data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=

Это веб-страница:

https://www.smartbuyglasses.com/designer-sunglasses/Tom-Ford/Tom-Ford-FT0248-HENRY-52A-163457.html

А вот мой код для печати значения sr c:

from bs4 import BeautifulSoup as soup
import requests

imageRes = requests.get("https://www.smartbuyglasses.com/designer-sunglasses/Tom-Ford/Tom-Ford-FT0248-HENRY-52A-163457.html")

imagePageSoup = soup(imageRes.text, "html.parser")
mainImgLi = imagePageSoup.find("li", "cur pro_leftIcon_click")
mainImg = mainImgLi.img["src"]

print(mainImg)

1 Ответ

1 голос
/ 15 января 2020

Позвоните в API напрямую, по номеру number и получите pic

import requests

r = requests.get(
    "https://www.smartbuyglasses.com/info/itemlist/gproduct_id/32254").json()

print(r['163457']['main']['thumb'])

Вывод:

//img1-image.cdnsbg.com/hashImg/46e1db3236.jpg_w450h225

Объяснение:

Фото есть фактически визуализируется через JavaScript с использованием XHR-запроса к ссылке API, которой я ранее поделился Поэтому я смог найти URL-адрес для этих запросов, который можно отследить с помощью Инструментов разработчика для вашего браузера, а затем найти NetworkTab, после чего вы сможете найти его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...