我试图刮掉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
如何使脚本产生类似于第二个脚本的输出?
您可以使用内置zip()
功能。
例如:
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:]]
for t, w in zip(item_content[::2], item_content[1::2]):
print(item_title, t, w) # or print(item_title, t, w.split()[0]) without the `✓` sign
印刷品:
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 1 Serie 75kg ✓
BMW 2 Serie Active Tourer 75kg ✓
BMW 2 Serie Cabrio 0kg
BMW 2 Serie Coupe 75kg ✓
BMW 2 Serie Grand Coupe 75kg ✓
...and so on.
通过uwtd电视编辑:
item_content[::2] = starts on index 0 and take 2 jumps to next model
item_content[1::2] = starts in index 1 and take 2 jumps to next load
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句