Python 删除亚马逊产品名称

Python 删除亚马逊产品名称,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我正试图收集亚马逊上基于卖家名称的前两页产品名称。当我请求页面时,它包含我需要的所有元素,但是,当我使用BeautifulSoup时,它们不会被列出。这是我的密码: import requests from bs4 import BeautifulSoup headers = {'User-Agent':'Mozilla/5.0'} res = requests.get("https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=AT

我正试图收集亚马逊上基于卖家名称的前两页产品名称。当我请求页面时,它包含我需要的所有元素,但是,当我使用
BeautifulSoup
时,它们不会被列出。这是我的密码:

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent':'Mozilla/5.0'}
res = requests.get("https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=ATVPDKIKX0DER", headers=headers)
#print(res.text)
soup = BeautifulSoup(res.text, "html.parser")
soup.find_all("a",href=True)

未列出产品的链接。如果AmazonAPI提供了这些信息,我愿意使用它(请提供一些使用示例)。非常感谢。

我已经从alt属性中提取了产品名称。这是否如预期的那样

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=ATVPDKIKX0DER')
soup = bs(r.content, 'lxml')
items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
print(items)
超过两页:

import requests
from bs4 import BeautifulSoup as bs
url = 'https://www.amazon.com/s?i=merchant-items&me=A3WE363L17WQR&page={}&marketplaceID=ATVPDKIKX0DER&qid=1553116056&ref=sr_pg_{}'
for page in range(1,3):
    r = requests.get(url.format(page,page))
    soup = bs(r.content, 'lxml')
    items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
    print(items)

我已经从alt属性中提取了产品名称。这是否如预期的那样

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=ATVPDKIKX0DER')
soup = bs(r.content, 'lxml')
items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
print(items)
超过两页:

import requests
from bs4 import BeautifulSoup as bs
url = 'https://www.amazon.com/s?i=merchant-items&me=A3WE363L17WQR&page={}&marketplaceID=ATVPDKIKX0DER&qid=1553116056&ref=sr_pg_{}'
for page in range(1,3):
    r = requests.get(url.format(page,page))
    soup = bs(r.content, 'lxml')
    items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
    print(items)

你能提供一些你正在看到的和你期望看到的细节吗?它们可能是动态加载的,需要一个类似的方法selenium@QHarr这是我开始时的想法,但它们出现在
res.text
中,这很奇怪!但不存在于soup@EliotK我想得到的是出现在
res.text
中的产品名称(名称),如上文所述,但不在soupE.g中。是否会是Elsey博士的超高级丛生猫砂(包装可能会有所不同)?您能否提供一些详细信息,说明您看到了什么以及您希望看到什么?它们可能是动态加载的,并且需要以下方法:selenium@QHarr这是我开始时的想法,但它们出现在
res.text
中,这很奇怪!但不存在于soup@EliotK我想得到的是出现在
res.text
中的产品名称(名称),如上文所述,但不在soupE.g中。是否会是Elsey博士的猫超高级丛生猫砂(包装可能会有所不同)?我已经使用“lxml.html”模块解决了这个问题,但我想知道为什么soup(html)无法读取它,所以上面的工作按预期进行?我认为使用格式不好的html时lxml可能更好。我已经使用“lxml.html”模块解决了这个问题,但我想知道为什么soup(html)无法读取它,所以上面的工作方式与预期的一样?我认为lxml可能更适合格式不好的html。