htmlコードはブラインドで、htmlには文字列 "PRICE"が含まれています。その部分文字列はhtmlテキストと一致しなければなりません。もしxpathを使ってテキストが一致すれば(部分一致)、特定のhtmlタグのパスを返すべきです。xpathを使用して部分文字列一致のhtmlタグを取得します
注:私は、複数のsites.Iために、このロジックを自動化する必要がは(親タグをフェッチ、「価格」を見つけるための)一般的なルール を使用する必要があります
これは一例です:
html="""<div id = "price_id">
<span id = "id1"></span>
<div class="price_class">
<bold>
<strong>
<label>PRICE:</label> 125 Rs.
</bold>
</strong>
</br>
</br>
</div>"""
私はlxmlの
それはXPath式を使用して書かれるだろうかfrom lxml.html.clean import Cleaner
cleaner =Cleaner(page_structure=False)
cl = cleaner.clean_html(html)
cleaned_html = fromstring(cl)
for element in cleaned_html:
if element.text == 'PRICE':
print "matched"
を使用?
xpath式を使用してdivクラスパスを取得するだけで済みます。
また、「PRICE:」という文字列を見つけた場合に問題が発生します。 親の有効なタグは、クラス名が「price_class」の「div」である必要があります。 しかし、ここで私はあなたがある文字列の親有効なタグを取得するために私を提案してくださいでした... にフォント、太字、斜体などの不要なタグをスキップしたり、削除
を持っている必要がありますか?
ここではHTMLソースコードが表示されません。したがって、属性とタグを手動で使用することはできません。別のサイトでは、タグとクラスは正しく変更されますか?私は多くのサイトでこのロジックを自動化する必要があります。ここでは(ラベル、price_class)を言及するのではなく、ゲラールルール – Nava
@サラバナを使用する必要があります。 – reclosedev
おかげで友人:-)私は疑問を持っています。私は大文字を大文字に変換する必要があります()。私は大文字(text())の 'price'を試しましたが、 – Nava