为了账号安全,请及时绑定邮箱和手机立即绑定

使用 python 进行网页抓取时 HTML 类的问题

使用 python 进行网页抓取时 HTML 类的问题

开心每一天1111 2022-12-06 17:25:35
我是 python 的新手,我正在尝试从购物网站上抓取有关计算机的信息。尽管代码看起来没问题(没有错误),但在过程的最后它不会给我 csv 文件。我已经更改了课程,但没有任何效果。我在另一个网站上使用了这段代码,效果很好。另一个小问题:如何抓取多页结果。提前致谢!from bs4 import BeautifulSoupimport pandas as pdfrom selenium import webdriverimport pandas as pdproducts=[] #List to store name of the productprices=[] #List to store price of the productfretes=[] #List to store rating of the productdriver = webdriver.Chrome(executable_path = r'C:\Users\gomes\Desktop\chromedriver.exe')driver.get("https://lista.mercadolivre.com.br/macbook")content = driver.page_sourcesoup = BeautifulSoup(content, 'html.parser')for a in soup.findAll('li',href=True, attrs={'class':'results-item'}):    name=a.find('span', attrs={'class':'main-title'})    price=a.find('span', attrs={'class':'price__fraction'})    frete=a.find('span', attrs={'class':'text-shipping'})    products.append(name.text)    prices.append(price.text)    fretes.append(frete.text)    data = dict({'Product Name': products,                 'Price': prices,                 'Frete': fretes                 })    # create dataframe    products_df = pd.DataFrame(        dict([(k, pd.Series(v)) for k, v in data.items()])        )    products_df.to_csv("C:\\Users\\gomes\\Desktop\\mac.csv")
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

import requests

import pandas as pd

from bs4 import BeautifulSoup


url = 'https://lista.mercadolivre.com.br/macbook'

soup = BeautifulSoup(requests.get(url).content, 'html.parser')


data = []

for title, price in zip(soup.select('.item__title'), soup.select('.price__fraction')):

    frete = title.find_previous_sibling(attrs={'class':'item__shipping'})

    data.append({'Product Name': title.get_text(strip=True),

                 'Price': price.get_text(strip=True),

                 'Frete': frete.get_text(strip=True) if frete else '-'})


df = pd.DataFrame(data)

print(df)


df.to_csv('data.csv')

印刷:


                                         Product Name   Price         Frete

0   Macbook Pro 15 Core I7 8gb De Ram 2011 - Leia ...   2.699             -

1   Macbook Pro I5 2.7ghz/8gb 1867mhz/ssd 256gb Mo...   5.100  Frete grátis

2   Apple Macbook Pro Retina 13,3 I5 2.3/8gb/256gb...   9.830  Frete grátis

3   Macbook Pro 2015 A1502 Retina I5 8gb 256ssd + ...   4.799             -

4   Macbook A1502 Pro 2015 Retina I5 8gb 256ssd + ...   4.800             -

5   Apple Macbook A1534 2017 Mnyk2bza Core M3 8gb ...   8.499  Frete grátis

6   Macbook Pro (ver Detalhes Abaixo No Descritivo...   4.460             -

7   Macbook Pro 2015 I5 8gb 2,7ghz 256ssd Impecáve...   5.993  Frete grátis

8   Macbook Pro I5 2.7ghz/8gb 1867mhz/ssd 256gb Mo...   5.100  Frete grátis

9   Macbook Pro 15 Mid 2009 2,66 Ghz Intel Core Du...   2.749  Frete grátis

10  Macbook Pro Touch Bar 2016 I5 8gb 256ssd - Sem...   8.999  Frete grátis

11  Macbook Pro 2017 - Retina - 2,3 Ghz - I5 - 8gb...   9.999  Frete grátis

12  Macbook Pro 2019 16pol 2.4 I9 32gb 1tb 5500m E...  30.699  Frete grátis

13  Apple Macbook Pro A1278 Core I5 8gb Hd Ssd 240...   4.480  Frete grátis

14  Macbook Pro Md318ll/a Intel Core I7 2.2ghz 8gb...   4.490             -

15             Macbook Air 13 128gb (versao Anterior)   7.499  Frete grátis

16  Macbook Pro 2019 16pol 2.4 I9 64gb 1tb 5500m E...  33.299  Frete grátis

17  Macbook Pro 2015 Retina I5 8gb 256ssd + Carreg...   5.494  Frete grátis

18  Macbook Pro I5 2,3 Ghz 8gb Ram Tela 13,3 500gb...   3.790  Frete grátis

19  Apple Macbook Pro (modelo Completo Na Descriçã...   4.490  Frete grátis

20  Promoção: Macbook Pro 2015 Retina I5 8gb 256ss...   5.493  Frete grátis

21  Macbook Pro 2015 I5 8gb 2,7ghz 256ssd Apple Se...   6.173  Frete grátis

22  Macbook Pro 2015 Retina I5 8gb 256ssd C/ Carre...   5.493  Frete grátis

23       Macbook Pro 2019 16pol 2.4 I9 32gb 1tb 5550m  30.399  Frete grátis

24  Macbook Pro 2019 16 Pol 2.3 I9 16gb 1tb 5500m ...  25.999  Frete grátis

25  Promoção: Macbook A1534 2015 8gb Ssd 256gb + C...   6.999  Frete grátis

26  Macbook Pro Apple 2015 Retina I5 8gb 256ssd - ...   6.174  Frete grátis

27  Macbook Pro A1398 I7 2014 15 Pol. 16gb 256ssd ...   7.680  Frete grátis

28  Macbook Pro 2016 A1706 Touch Bar I5 8gb 256ssd...   8.759  Frete grátis

29  Macbook Pro 2019 16pol 2.4 I9 64gb 1tb 5550x E...  29.499  Frete grátis

30  Macbook Pro 13 - 2.3ghz 8gb 256ssd Cinza Espacial   9.500  Frete grátis

31  Macbook Pro 2019 16pol 2.3 I9 16gb 1tb 5550x E...  22.999  Frete grátis

32  Macbook A1466/2012 13.3 Polegadas 1.8ghz 8gb 1...   4.000             -

33  Oferta! Macbook Pro 2015 I5 8gb 2,7ghz 256 C/ ...   6.173  Frete grátis

34  Apple Macbook Pro 2015 I5 8gb 2,7ghz 256ssd - ...   6.173  Frete grátis

35  Apple Macbook Pro 2015 I5 8gb 2,7ghz 256ssd - ...   6.305  Frete grátis

36  Macbook Pro Touchbar 13 2019 2.4 8gb 512gb 119...  15.999  Frete grátis

37     Macbook Pro 2019 13 I7 2.8 16gb 512gb Envio Ja  19.899  Frete grátis

38  Macbook Pro A1278 Tela 13 Core I5 8gb Ssd 240 ...   4.280             -

39             Macbook Air 13 256gb (versao Anterior)  10.211  Frete grátis

40  Macbook Pro A1398 2014 I7 2,5ghz 16gb 256gb - ...   7.680  Frete grátis

41  Macbook Pro 15 - Intel Core I7 - Ssd 500gb - A...   8.900  Frete grátis

42   Macbook Pro Touchbar 13 2019 2.4 8gb 512gb 11999  17.849  Frete grátis

43  Macbook Pro 2019 16 Pol I7 6 Core 2.6 16gb 512...  20.990  Frete grátis

44  Macbook Pro 15, 16gb, I7, 13 Ciclos, Muito Nov...   7.500  Frete grátis

45     Promoção Macbook Pro 2015 I5 8gb 2,7ghz 256ssd   6.173  Frete grátis

并保存data.csv(来自 LibreOffice 的屏幕截图):

//img1.sycdn.imooc.com//638f0ab20001d7cb06580663.jpg

查看完整回答
反对 回复 2022-12-06
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信