Я вставил ниже некоторые данные HTML. Это не полная страница. Существует много других div и т. Д., И я не нуждаюсь. Ниже приведен наиболее подходящий раздел для этого примера.синтаксический анализ этих данных с красивым супом
<div class="prox_sub22"><a onclick="return srpVehicleNameGAEvent();"
data-bind="attr:{href:VehicleDetailUrl, id: GetVehicleTitleId()}, html:AN.DSF.Data.SearchObjects.GetShortenVehicleName(Year+' '+Make+' '+Model+' '+StyleName)"
href="/new/2016/ford/expedition-el/king ranch/1FMJK1JTXGEF06926"
id="Vehicle_Title_0">2016 Ford Expedition EL 4WD 4d...</a>
</div>
<div class="prod_vin txt11"><span data-bind="attr:{ id: GetVinLabelId()}"
id="VIN_Label_0">VIN:</span>
<span data-bind="attr:{ id: GetVehicleVinId()}, text:Vin"
id="Vehicle_Vin_0">1FMJK1JTXGEF06926</span>
</div>
<div class="prox_sub22"><a onclick="return srpVehicleNameGAEvent();"
data-bind="attr:{href:VehicleDetailUrl, id: GetVehicleTitleId()}, html:AN.DSF.Data.SearchObjects.GetShortenVehicleName(Year+' '+Make+' '+Model+' '+StyleName)"
href="/new/2017/ford/super-duty-f--250-srw/xl/1FT7W2BT3HEC24765"
id="Vehicle_Title_1">2017 Ford Super Duty F-250 SRW...</a>
</div>
<div class="prod_vin txt11"><span data-bind="attr:{ id: GetVinLabelId()}"
id="VIN_Label_1">VIN:</span>
<span data-bind="attr:{ id: GetVehicleVinId()}, text:Vin"
id="Vehicle_Vin_1">1FT7W2BT3HEC24765</span>
</div>
Я вставив только один небольшой участок HTML-файл для справки ... есть 72 (inclduing 0) из них на этой странице. Я пытаюсь пройти через эту страницу и получить все Vehicle_Vin на странице.
вот мой код
soup = BeautifulSoup(f,"html.parser")
stock = soup.find_all("div", attrs={"class" : "prod_vin txt11"})
for j in range(0,72):
vinlist = []
for subvins in stock:
vins = subvins.find_all("span", attrs={"id" : "Vehicle_Vin_{}".format(j)})
for vin in vins:
vinlist.append(vin.string)
print(j,vinlist)
Так что вопрос в том, что я получаю список NULL, когда это проходит через, и я не могу понять, почему.
Любые советы очень ценятся.
Вы можете увидеть это сообщение http://stackoverflow.com/questions/6396655/parsing-html-using-beautifulsoup-in-python –
Я предполагаю, что в строке отсутствует отсутствующий отступ -> для vin in vins: vinlist.append (vin.string). Этот цикл должен располагаться внутри внешнего цикла. –
спасибо, что поймаете. Вы правы, я должен поместить это во внешнюю петлю. Однако почему каждый новый VIN добавляется в список, который я создал? В конце у меня должен быть список, в котором есть 72 элемента, но я только закончил список с 1 элементом в нем ?? – enderwigg