Я просто хочу получить HTML-строку поиска на сайте https://www.daraz.com.pk. Я написал код и попробовал его на "https://www.amazon.com"," https://www.alibaba.com", "https://www.goto.com.pk" и многих других, он работает нормально. Но он не работает на https://www.daraz.com.pk.
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib import request
import ssl
import requests
ssl._create_default_https_context = ssl._create_unverified_context
html = urlopen("https://www.daraz.com.pk")
bsObj = BeautifulSoup(html, features="lxml")
nameList = bsObj.find("input", {"type": "search"})
print(nameList)
возвращает нет , вместо этого он должен вернуть:
input type="search" id="q" name="q" placeholder="Search in Daraz" class="search-box__input--O34g" tabindex="1" value="" data-spm-anchor-id="a2a0e.home.search.i0.35e34937eWCmbI"
Я также пробовал подобный код на amazon, alibaba и некоторых других сайтах, которые успешно вернули html:
html = urlopen("https://www.amazon.com")
bsObj = BeautifulSoup(html, features="lxml")
nameList = bsObj.find("input", {"type": "text"})
print(nameList)
Я тоже пробовал это так:
bsObj=BeautifulSoup(requests.get("https://www.daraz.com.pk").content,
"html.parser")
nameList = bsObj.find("input", {"type": "search"})
print(nameList)
и, таким образом, селен:
driver = webdriver.Firefox()
driver.get("https://www.daraz.com.pk")
time.sleep(2)
content = driver.page_source.encode('utf-8').strip()
soup = BeautifulSoup(content,"html.parser")
time.sleep(2)
officials = soup.find("input", {"type":"search"})
print(str(officials))
но не удалось.