python - 我无法从该网站上抓取项目。Python
问题描述
我试图刮掉这个网站上的所有服装,但我做不到。我在 'find_all' 中设置了 'limit=3' 但它只给了我 1 个结果。如何在一个请求中获得所有结果?请帮帮我,我被这个困住了!
def trendyol():
url = "https://www.trendyol.com/erkek+kazak--hirka?filtreler=22|175"
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'}
page = requests.get(url, headers=headers).text
soup = BeautifulSoup(page, "html.parser")
list= soup.find_all("div",{"class":"p-card-chldrn-cntnr"}, limit=3)
for div in list:
link= str("https://www.trendyol.com/" + div.a.get("href"))
name = div.find("span",{"class":"prdct-desc-cntnr-name hasRatings"}).text
print(f'link: {link}')
print(f'isim: {name}')
解决方案
试试这个代码:
from bs4 import BeautifulSoup
import requests
def trendyol(url):
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'}
page = requests.get(url, headers=headers).text
soup = BeautifulSoup(page, "html.parser")
list= soup.find("div", {'class':'prdct-cntnr-wrppr'})
for link in list.find_all('div',{'class': 'p-card-chldrn-cntnr'}):
print("https://www.trendyol.com" + link.find('a', href=True)['href'])
print(link.find('div',{'class':'image-container'}).img['alt'])
print(link.find('span',{'class':'prdct-desc-cntnr-ttl'}).text)
url = "https://www.trendyol.com/erkek+kazak--hirka?filtreler=22%7C175&pi=3"
trendyol(url)
此代码带有打印产品 url、标题和标题的替代文本。谢谢。
推荐阅读
- javascript - 根据先前的单选按钮选择禁用单选按钮
- matlab - Matlab中带有覆盆子的I2C传感器问题
- node.js - 防止 express-session 从特定路由发送 cookie
- angular - MSAL:以角度静默获取令牌
- javascript - p5js - 在平移/缩放中钳制图像
- flutter - 抽屉没有出现在 SliverAppBar
- c++ - 如何在 C++ 中获得 2 个向量的加权和?
- java - Ring Jetty 似乎已为 SSL 正确配置,但在尝试运行服务器时获得权限被拒绝
- python - 如何创建仅位于多个集合之一中的所有元素的新集合?
- regex - 一年后以 YYYY 或 YY 形式删除的正则表达式