Я пытаюсь очистить данные продукта Али express на странице продукта с помощью Python и BeautifulSoup.
Я запускаю следующий код, ссылающийся на файл YML ( ali express .yml) с селекторами Али express CSS, созданными с помощью SelectorLib:
from selectorlib import Extractor
import requests
import json
import argparse
argparser = argparse.ArgumentParser()
argparser.add_argument('url', help='Amazon Product Details URL')
# Create an Extractor by reading from the YAML file
e = Extractor.from_yaml_file('./aliexpress.yml')
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246'
headers = {'User-Agent': user_agent}
# Download the page using requests
args = argparser.parse_args()
r = requests.get(args.url, headers=headers)
# Pass the HTML of the page and create
data = e.extract(r.text)
# Print the data
print(json.dumps(data, indent=True))
Я получаю следующий ответ:
{
"name": null,
"price": null,
"image": null
}
У меня есть другие файлы YML для Amazon и другая электронная коммерция работает нормально, но с Али express возвращает ноль. Странно, потому что в SelectorLib я могу правильно просматривать данные предварительного просмотра, поэтому файл YML правильный.
Может ли Али express блокировать мой просмотр? Как я могу очистить данные Али express без нулевого ответа?