Я хочу извлечь все URL-адреса продуктов с этой страницы (https://www.example.com/products), а затем перейти к каждому URL-адресу, проанализировать его, получить значения идентификаторов и распечатать их. Я написал некоторый код, но он не сработал, поэтомудалеко. [Вот список продуктов, из которых я извлекаю URL-адреса] [1]
[Вот список размеров, из которых я извлекаю значения ID] [2]
Вот кодчто я написал до сих пор.
from bs4 import BeautifulSoup
webpage_response = requests.get('https://www.example.com/products/', headers={'authority': 'www.example.com', 'method': 'GET', 'path': '/products/', 'scheme': 'https', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'cache-control': 'max-age=0', 'referer': 'https://www.example.com/products', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'same-origin', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'})
webpage = webpage_response.content
soup = BeautifulSoup(webpage, 'lxml')
for li in soup.find_all("li", {"class":"productData"}):
for link in li.select("a.fn"):
url = link.get('href')
webpage2_response = requests.get(url, headers={'authority': 'www.example.com', 'method': 'GET', 'path': '/products/', 'scheme': 'https', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'cache-control': 'max-age=0', 'referer': 'https://www.example.com/products', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'same-origin', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'})
webpage2 = webpage_response2.content
soup = BeautifulSoup(webpage, "lxml")
for div in soup.find_all("div", {"class":"size "}):
for pid in div.select("a.selectSize"):
print pid['id']
[1]: https://i.stack.imgur.com/sMl7s.png
[2]: https://i.stack.imgur.com/EX6T9.png