0
私はこの構造を持っています。スパンタグ付きのBeautifulSoupで特定のデータを抽出する
<div id="one" class="tab-pane active">
<div class="item-content">
<a href="/mobilni-uredjaji.4403.html">
<div class="item-primary">
<div class="sticker-small">
<span class=""></span>
</div>
<div class="sticker-small-lte">
<span class="lte"></span>
</div>
<div class="item-photo">
<img src="/upload/images/thumbs/devices/SAMG935F/SAMG935F_image001_220x230.png" alt="Samsung Galaxy S7 edge">
</div>
<div class="item-labels">
<span class="item-manufacturer">Samsung</span>
<span class="item-title">Galaxy S7 edge</span>
</div>
</div>
<div class="item-secondary">
<span class="item-price">94.000<span class="currency">currency!</span></span>
<span class="item-package"> uz! Sigurica 1500</span>
<span class="item-installments">na! 24 rate_po!</span>
<span class="value">100 currency!</span>
<span class="item-available">device_is_available_on_webshop_list!</span>
</div>
</a>
</div>
<div class="item-content">
<a href="/mobilni-uredjaji.4403.html">
<div class="item-primary">
<div class="sticker-small">
<span class=""></span>
</div>
<div class="sticker-small-lte">
<span class="lte"></span>
</div>
<div class="item-photo">
<img src="/upload/images/thumbs/devices/SAMG935F/SAMG935F_image001_220x230.png" alt="Samsung Galaxy S7 edge">
</div>
<div class="item-labels">
<span class="item-manufacturer">Samsung</span>
<span class="item-title">Galaxy S7 edge</span>
</div>
</div>
<div class="item-secondary">
<span class="item-price">94.000<span class="currency">currency!</span></span>
<span class="item-package"> uz! Sigurica 1500</span>
<span class="item-installments">na! 24 rate_po!</span>
<span class="value">100 currency!</span>
<span class="item-available">device_is_available_on_webshop_list!</span>
</div>
</a>
</div>
-----same structure ----
</div>
マイターゲットは、対応するデータを持つクラス= "項目ラベル" とDIVである:
- サムスン
- ギャラクシーS7縁
とDIVスパンtaの下のデータを持つクラス "item-secondary" class = "item-price"、94.000のg。
は、私は正確であることを私の出力を必要とする:
- サムスン
- ギャラクシーS7エッジ
これまでのところ、私は下の価格なしで最初の二つのデータを取得しています。このコードでスパン。私はかなり掻き分けていないので、ちょっとここにこだわっています。 お願いします。 コードは次のとおりです。
from bs4 import BeautifulSoup
import re
import pymysql
import MySQLdb
import urllib
#rl = "http://www.vipmobile.rs/mobilni-uredjaji.2631.html#tarifgroup-1|devicetype-1|minprice-0|maxprice-124800|brand-0|model-0"
url = "file:///C:/Users/zika/Desktop/one.html"
html = urllib.urlopen(url)
page = html.read()
#print(page)
# db = MySQLdb.connect(host = 'localhost',
# user = 'root',
# passwd = '123456',
# db = 'lyrics')
soup = BeautifulSoup(page, 'html.parser')
#mobData = soup.find("div", {"class": "bxslider items"}).find_all("div", {"class": "item-content"})
#for mobMan in soup.find("div", {"class": "tab-pane active"}).findAll("span")
labelData = soup.find("div", {"class": "tab-pane active"}).find_all("div", {"class": "item-content"})
labelPrice = soup.find("div", {"class": "tab-pane active"}).find_all("span", class_="item-price")
for label in labelData:
print(label.contents[1].find("div", {"class": "item-labels"}).getText())
\t
for price in labelPrice:
print(price.getText())
\t
\t
\t
\t
\t \t
\t \t
\t \t
input("\n\nPress the enter key to exit!") \t \t
これは、スパンのための良いヒントです:
この
は、次のような出力が得られます。ありがとう@コーダー – Miki