Python 在一个页面的网站上循环浏览所有产品

Python 在一个页面的网站上循环浏览所有产品,python,python-3.x,beautifulsoup,Python,Python 3.x,Beautifulsoup,有一个只有一页的网站,上面有产品(比如亚马逊),我想知道产品名称、价格和发布日期。 我的代码只显示第一个产品 我正在为Python3使用beautifulsoup库 from bs4 import BeautifulSoup r = requests.get('https://tap.az/all/consumer-electronics/phones?p%5B749%5D=3860') soup = BeautifulSoup(r.text, 'html.parser') results =

有一个只有一页的网站,上面有产品(比如亚马逊),我想知道产品名称、价格和发布日期。 我的代码只显示第一个产品

我正在为Python3使用beautifulsoup库

from bs4 import BeautifulSoup

r = requests.get('https://tap.az/all/consumer-electronics/phones?p%5B749%5D=3860')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class': 'products-i'})

records = []
for result in results:
    model = soup.find('div', attrs={'class': 'products-name'}).text
    price = soup.find('span', attrs={'class': 'price-val'}).text + ' AZN'
    date_and_place = soup.find('div', attrs={'class': 'products-created'}).text
    url = soup.find('a', attrs={'class': 'products-link'})   # NEED UPDATE! URGENT!

records.append((model, price, date_and_place))
print(records)

我希望所有产品都显示在控制台上。

您正在搜索
r.text
soup.find(…)
)循环中

find\u all返回一个
结果数组
,因此要获取所需的数据,您应该在
结果
对象(
result.find(…)
)中搜索
结果:
循环

from bs4 import BeautifulSoup

r = requests.get('https://tap.az/all/consumer-electronics/phones?p%5B749%5D=3860')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class': 'products-i'})

records = []
for result in results:
    model = result.find('div', attrs={'class': 'products-name'}).text
    price = result.find('span', attrs={'class': 'price-val'}).text + ' AZN'
    date_and_place = result.find('div', attrs={'class': 'products-created'}).text
    url = result.find('a', attrs={'class': 'products-link'})   # NEED UPDATE! URGENT!

    records.append((model, price, date_and_place))
print(records)

缩进
记录。追加((型号、价格、日期和地点))
以使其符合loop@DeveshKumarSingh它返回相同的第一个产品信息,但多次返回。然后需要检查逻辑。您在结果上循环,但似乎从未使用
结果
变量再问一个问题,它不会返回我所有的产品,在一个网站上,它会返回约1500个项目,但会返回约100个。请检查以下情况:1)网站可能有延迟加载,
请求
无法处理2)网站可能有其他类型的javascript修改
查找所有
选择器3)可能网站有一个API,您可以直接查询,而不是下载整个网站。