python脚本里的语句是
from bs4 import BeautifulSoup
import urllib2
response = urllib2.urlopen('http://xxxxxx')
html = response.read()
soup = BeautifulSoup(html)
res = soup.find_all(class_='pro-detail-price')
得到的res是ResultSet类型,print结果是:
[<p class="pro-detail-price">最低价格:¥<span>4399.0</span>(天猫旗舰店)
<p class="pro-detail-trend">
<iframe frameborder="0" height="210" scrolling="no" src="http://tool.manmanbuy.com/historyPro.aspx?w=290&amp;h=210&m=1&e=0&scroll=0&id=327958" width="290"></iframe>
</p>
</p>]
如果想在这个ResultSet里找到特定的标签改用什么办法呢? 比如找到<span>4399.0</span>里的4399.0
巴扎黑2017-04-17 17:11:55
find は最初に一致した結果のみを返し、findAll は ResultSet を返すことを覚えています
したがって、検索結果は直接 res.span.string になる必要があります。そうでない場合は、単に res[0].span.string Bar
大家讲道理2017-04-17 17:11:55
find_all()
と find()
は使いにくいです。CSS セレクターである select()
を使用するのが最適です。
大きなフレームを取得しました。たとえば、それがスープ内のタグである場合、次のようになります。
この例では、results[0]
は指定されたタグです。
大家讲道理2017-04-17 17:11:55
リーリー
ランダムに試してみたところ、このコードに変更した出力結果は 4399.0 でしたが、マスターがより良い方法を提供してくれることを願っています、ありがとう