我正试着从car,model和load上刮本网页。我写的脚本可以完美地解析它们。然而,我不能做的是以一种定制的方式安排它们。
我试过:
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.fjordsen.com/en-eu/vehicles/")
soup = BeautifulSoup(r.text,"lxml")
for items in soup.select(".card-default"):
    item_title = items.select_one("h4.card-title > a").get_text(strip=True)
    item_content = [item.text for item in items.select("td")[2:]]
    print(item_title,item_content)此时脚本产生的输出:
Audi ['A1', '75kg✓', 'A3', '75kg✓', 'A4', '90kg✓', 'A5', '90kg✓', 'A6', '100kg✓', 'A7', '100kg✓', 'A8', '100kg✓', 'Q2', '75kg✓', 'Q3', '75kg✓', 'Q5', '75kg✓', 'Q7', '75kg✓', 'Q8', '100kg✓']
BMW ['1Serie', '75kg✓', '2SerieActiveTourer', '75kg✓', '2SerieCabrio', '0kg', '2SerieCoupe', '75kg✓', '2SerieGrandCoupe', '75kg✓', '2SerieGrandTourer', '75kg✓', '3Serie', '75kg✓', '3SerieGranTurismo', '75kg✓', '3SerieTouring', '75kg✓', '4SerieCabrio', '0kg', '4SerieCoupe', '75kg✓', '4SerieGranCoupe', '75kg✓', '5Serie', '100kg✓', '5SerieTouring', '100kg✓', '6SerieGranTurismo', '100kg✓', '7Serie', '100kg✓', '8Serie', '75kg✓', '8SerieCabrio', '0kg', '8SerieGranCoupe', '75kg✓', 'i3', 'Checkinstructionmanualforyourcar', 'i8', 'Checkinstructionmanualforyourcar', 'i8Roadster', 'Checkinstructionmanualforyourcar', 'X1', '75kg✓', 'X2', '75kg✓', 'X3', '100kg✓', 'X4', '100kg✓', 'X5', '100kg✓', 'X6', '100kg✓', 'X7', '100kg✓', 'Z4', 'Checkinstructionmanualforyourcar']我希望得到的输出(显示前几个):
Audi A1 75kg
Audi A3 75kg
Audi A4 90kg
Audi A5 90kg
Audi A6 100kg如何使脚本产生类似于第二个输出的输出?
发布于 2020-07-14 13:37:04
下面是实现相同输出的另一种方法:
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.fjordsen.com/en-eu/vehicles/")
soup = BeautifulSoup(r.text,"lxml")
for items in soup.select(".card-default"):
    item_title = items.select_one("h4.card-title > a").get_text(strip=True)
    for elem in items.select("tr"):
        model,weight = [item.text for item in elem.select("td")]
        print(item_title,model,weight)产出如下:
Audi Model Maximum roof load while driving
Audi A1 75kg  ✓
Audi A3 75kg  ✓
Audi A4 90kg  ✓
Audi A5 90kg  ✓
Audi A6 100kg  ✓
Audi A7 100kg  ✓
Audi A8 100kg  ✓
Audi Q2 75kg  ✓
Audi Q3 75kg  ✓
Audi Q5 75kg  ✓
Audi Q7 75kg  ✓
Audi Q8 100kg  ✓
BMW Model Maximum roof load
BMW 1 Serie 75kg  ✓
BMW 2 Serie Active Tourer 75kg  ✓https://stackoverflow.com/questions/62895802
复制相似问题