首页 > 解决方案 > 我们如何在 Python 3 中以后续方式附加列表?

问题描述

这是我的代码:

import requests
from bs4 import BeautifulSoup
url = 'https://www.newegg.com/CPUs-Processors/Category/ID-34'
r = requests.get(url)
htmlContent = r.content
soup = BeautifulSoup(htmlContent, 'html.parser')

processor_price = []
prices = soup.find_all('li', {"class": "price-current"})
for price in prices:
    processor_price.append(price.text.split())
print(processor_price)

我得到这个输出:

[['$414.99', '(24', 'Offers)–'], ['$709.99', '(12', 'Offers)–'], ['$319.99', '(34', 'Offers)–'], ['$439.99', '(12', 'Offers)–'], ['$199.99', '(31', 'Offers)–'], ['$71.87', '(26', 'Offers)–'], 
['$289.99', '(15', 'Offers)–'], ['$164.99', '(28', 'Offers)–'], ['$214.99', '(16', 'Offers)–'], ['$304.99', '(20', 'Offers)–'], ['$199.99', '(13', 'Offers)–']]

我需要这个输出:

['$414.99','$709.99','$319.99','$439.99'...]

标签: pythonpython-3.xlistbeautifulsouppython-requests

解决方案


做这个额外的处理。

for price_array in processor_price:
  print(price_array[0])

这将让您解析每个列表的第一个元素。然后,您可以将其打包到单独的列表中。

final_list = []
for price_array in processor_price:
  final_list.append(price_array[0])
print(final_list)

推荐阅读