Web-scrape 关键词,每个关键词都在不同的 url with python and bs4
Web-scrape key words that are each on a different url with python and bs4
我目前正在编写一个从 this page 中提取信息的脚本。
我想提取我已成功完成的每个项目的 alt
:
image = soup.find_all('img')
for i in image:
print(i['alt'])'
这让我得到了那些 'Item' 所需的代码。我还希望能够找到这些项目的名称并将它们 .append
到代码中(这样我就可以知道哪个代码属于哪个 'Item')
但是我在 "all" 的商店页面 html 中找不到商品的名称(这是我目前正在使用 urllib2
read()
下载的商品名称),您只能在类别中找到 Item
的名称,或者当您单击该项目并出现尺寸选择并添加到购物车按钮时。
我想打印 'Item' 代码以及项目名称和颜色(全部)。我正在考虑为每个类别创建所有不同的 url,并以这种方式找到所有信息,但这会花费我一段时间。
我想知道是否有人能够帮助我,并为我提供一个快速简单的脚本,我可以用它来执行这些任务。
我正在使用 python 2.7
、bs4
和 urllib2
我也试过这个脚本 谁能告诉我为什么它不起作用我已经尝试修复它好几个小时了
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
我试过切换这两个变量,但它打印了它能找到的最后一种颜色,代码工作正常,请帮助我
我使用了 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
我目前正在编写一个从 this page 中提取信息的脚本。
我想提取我已成功完成的每个项目的 alt
:
image = soup.find_all('img')
for i in image:
print(i['alt'])'
这让我得到了那些 'Item' 所需的代码。我还希望能够找到这些项目的名称并将它们 .append
到代码中(这样我就可以知道哪个代码属于哪个 'Item')
但是我在 "all" 的商店页面 html 中找不到商品的名称(这是我目前正在使用 urllib2
read()
下载的商品名称),您只能在类别中找到 Item
的名称,或者当您单击该项目并出现尺寸选择并添加到购物车按钮时。
我想打印 'Item' 代码以及项目名称和颜色(全部)。我正在考虑为每个类别创建所有不同的 url,并以这种方式找到所有信息,但这会花费我一段时间。
我想知道是否有人能够帮助我,并为我提供一个快速简单的脚本,我可以用它来执行这些任务。
我正在使用 python 2.7
、bs4
和 urllib2
我也试过这个脚本 谁能告诉我为什么它不起作用我已经尝试修复它好几个小时了
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
我试过切换这两个变量,但它打印了它能找到的最后一种颜色,代码工作正常,请帮助我
我使用了 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