0

这是我为从 snapdeal.com 页面查找所有产品名称而编写的代码

代码:

import urllib.request
   from bs4 import BeautifulSoup as BS

   url = 'https://www.snapdeal.com/products/electronics-headphones sort=plrty'

   response = urllib.request.urlopen(url).read()
   soup = BS(response, 'html.parser')
   product_name={}
   i=0
   for title in soup.find_all('p', class_="product-title"):
           product_name[i]=title.string
           i += 1
   for i in range(1,21):
       print(product_name[i])

输出:

回溯(最近一次通话最后):

摩托罗拉 Pulse 2 耳挂式有线耳机带麦克风(黑色)

Bose SoundLink 入耳式蓝牙耳机 - 黑色和蓝色

索尼 MDR-ZX110A 耳机不带麦克风(白色)

飞利浦 SBCHL140/98 头戴式耳机不带麦克风

文件“C:/Users/Aritra Bhattacharjee/PycharmProjects/PythonWebModules/Web Scraper.py”,第 17 行,在

Intex Desire BT 耳挂式带麦克风耳机黑色

**print(product_name[i])**

JBL T450 入耳式有线耳机带麦克风黑色

关键错误:20

摩托罗拉 Pulse Max 耳罩式有线耳机带麦克风(黑色)

飞利浦 SHB7250WT/00 入耳式无线耳机带麦克风 白色

索尼 MDR-XB650BT 入耳式超重低音 (XB) 耳机,带蓝牙和 NFC(黑色)

Intex JAZZ 耳挂式带麦克风耳机黑色

Skullcandy S5GBW-J539 入耳式无线耳机带麦克风 黑色

JBL C300SI 入耳式有线不带麦克风耳机黑色

Zoook Rocker iFit 蓝牙无线耳机带麦克风黑色

标志性 VM-46 入耳式有线耳机不带麦克风 白色

索尼 MDR-G45 入耳式有线不带麦克风耳机-黑色

摩托罗拉 Pulse Max 入耳式有线耳机带麦克风(白色)

Bose SoundTrue 耳罩式耳机带麦克风(海军蓝),适用于三星和 Android 设备

JBL T450 入耳式有线耳机带麦克风蓝色

摩托罗拉 Pulse 2 耳挂式有线耳机带麦克风(白色)

输出中的错误行以粗体显示。

此外,我还想收集这些产品的价格并将它们并排打印出来。

提前致谢。

4

1 回答 1

0
right_url = 'https://www.snapdeal.com/products/electronics-headphones?sort=plrty 
you_url   = 'https://www.snapdeal.com/products/electronics-headphones sort=plrty'

你错过了?url,如果你想用索引迭代,你可以使用enumerate()

soup = BS(response, 'html.parser')
product_name = [title.string for title in soup.find_all('p',class_="product-title")]
for index, value in enumerate(product_name):
    print(index, value)

出去:

0 Sony MDR-ZX110 On Ear Wired Headphone Without Mic White
1 Motorola Pulse 2 Over Ear Wired Headphones With Mic (Black)
2 Bose SoundLink On-Ear Bluetooth Headphones - Black & Blue
3 Sony MDR-ZX110A Headphones Without Mic (White)
4 Philips SBCHL140/98 Over Ear Headphone Without Mic
5 Intex Desire BT Over Ear Wired With Mic Headphone Black
6 JBL T450 On Ear Wired Headphones With Mic Black
7 Motorola Pulse Max Over Ear Wired Headphones With Mic (Black)
8 Philips SHB7250WT/00 Over Ear Wireless Headphones With Mic White
9 Skullcandy S5GBW-J539 On Ear Wireless Headphones With Mic Black
10 boAt Bassheads 600 White & Blue On Ear Wired Headphones With Mic White
11 JBL T450 On Ear Wired Headphones With Mic Blue
12 JBL C300SI Over Ear Wired Without Mic Headphone Black
13 Zoook Rocker iFit Bluetooth Wireless Headphones With Mic Black
14 Intex JAZZ Over Ear Wired With Mic Headphone Black
15 Sony MDR-G45 Over Ear Wired Without Mic Headphone- Black
16 Motorola Pulse Max Over Ear Wired Headphones With Mic (White)
17 Bose SoundTrue Around-Ear Headphones with Mic (Navy Blue) for Samsung and Android Devices
18 Sony MDR-XB650BT On-Ear Extra Bass(XB) Headphones with Bluetooth & NFC (Red)
19 Motorola Pulse 2 Over Ear Wired Headphones With Mic (White)
于 2017-01-02T10:01:01.827 回答