用python和bs4在不同的url上创建关键字

2024-09-27 18:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个从this page提取信息的脚本。你知道吗

我想提取我成功处理的每个项目的alt

image = soup.find_all('img')
for i in image:
    print(i['alt'])' 

我还希望能够找到这些项目的名称,并.append将它们添加到代码中(这样我就可以知道哪些代码属于哪个‘项目’)

但是我在带有“all”的商店页面的html中找不到商品的名称(这是我当前使用urllib2read()下载的内容),您只能在类别中找到Item的名称,或者当您单击商品时,大小选择和添加到购物车按钮出现。你知道吗

我想打印'项目'与项目名称和颜色(所有一起)代码。我正在考虑为每个类别创建所有不同的url,并以这种方式查找所有信息,但这需要一段时间。你知道吗

我想知道是否有人能帮我,并提供一个快速和简单的脚本,我可以用它来执行这些任务。你知道吗

我正在使用python 2.7bs4urllib2

我也尝试过这个脚本,有人能告诉我为什么它不工作,我已经尝试了几个小时来修复它

from bs4 import BeautifulSoup as bs
import urllib2

URL1 = ('http://www.supremenewyork.com/shop/all/jackets')
sauce1 = urllib2.urlopen(URL1).read()
soup1 = bs(sauce1,'lxml')

for name1 in soup1.find_all(attrs={'class':'name-link'}):
    image1 = soup1.find_all('img')
    for i in image1:
        code1 = (i['alt'])+ '  '+(name1.text)
    print(code1)

(不知道为什么这里的缩进不正确,但是脚本完美地执行了name1.text,但是i['alt']总是打印它能找到的最后一个单词,所以它最终是这样的

Bxvxpc8 dng  

Supreme®/Nike®/NBA Teams Warm-Up Jacket
Bxvxpc8 dng  Denim
Bxvxpc8 dng  Supreme®/Nike®/NBA Teams Warm-Up Jacket
Bxvxpc8 dng  White
Bxvxpc8 dng  Supreme®/Nike®/NBA Teams Warm-Up Jacket
Bxvxpc8 dng  Black
Bxvxpc8 dng  


Washed Work Trench Coat
Bxvxpc8 dng  

Floral
Bxvxpc8 dng  


Washed Work Trench Coat
Bxvxpc8 dng  Dusty Teal
Bxvxpc8 dng  


Washed Work Trench Coat
Bxvxpc8 dng  Black
Bxvxpc8 dng  Washed Work Trench Coat
Bxvxpc8 dng  White

我试过切换这两个变量,但它打印的最后一种颜色,它可以找到和代码工作良好,请帮助我


Tags: 项目代码in脚本名称forallfind
1条回答
网友
1楼 · 发布于 2024-09-27 18:54:00

我使用了requests模块,而不是我建议您使用的urllib2。你知道吗

这里的基本策略是,获取所有夹克的链接,然后分别为每个夹克刮取名称和样式。你知道吗

完整代码:

import requests
from bs4 import BeautifulSoup

r = requests.get('http://www.supremenewyork.com/shop/all/jackets')
soup = BeautifulSoup(r.text, 'lxml')

for item in soup.find_all('div', class_='inner-article'):
    url = item.a['href']
    alt = item.find('img')['alt']
    req = requests.get('http://www.supremenewyork.com' + url)
    jacket_soup = BeautifulSoup(req.text, 'lxml')
    name = jacket_soup.find('h1', itemprop='name').text
    style = jacket_soup.find('p', itemprop='model').text

    print(alt, name, style)

输出:

Zbjng0wx ys Supreme®/Nike®/NBA Teams Warm-Up Jacket Denim
U 6wgdlykaw Supreme®/Nike®/NBA Teams Warm-Up Jacket White
Uqwzgxwn aw Supreme®/Nike®/NBA Teams Warm-Up Jacket Black
 ncksopv9nw Washed Work Trench Coat Floral
Iucyf1nlqi0 Washed Work Trench Coat Dusty Teal
Aiqn291frva Washed Work Trench Coat Black
Ttnqgbiqexi Washed Work Trench Coat White
Rlpgq3dzbdk Reflective Taping Hooded Pullover Orange
7cmo7ppbbv8 Reflective Taping Hooded Pullover Tan
Gyy1gqljohi Reflective Taping Hooded Pullover Green
Xgjdkznfyxi Reflective Taping Hooded Pullover Black

相关问题 更多 >

    热门问题