【发布时间】:2016-02-07 00:17:00
【问题描述】:
鉴于 this 页面,我正在寻找样式 ID 的值:
我使用浏览器的开发工具获得了唯一选择器:
li.attribute-list-item:nth-child(1) > span:nth-child(1)
那么使用 urllib2 和 lxml 的 CSS 功能:
import urllib2
from lxml import etree
from lxml.cssselect import CSSSelector
req = urllib2.Request(url, headers={'User-Agent' : "Magic Browser"})
con = urllib2.urlopen( req )
htmlparser = etree.HTMLParser()
tree = etree.parse(con, htmlparser)
x = CSSSelector('li.attribute-list-item:nth-child(1) > span:nth-child(1)')
如果我再得到 x(tree) 的单个元素的文本值:
它给了我文本“样式 ID”,而不是它后面的实际值。下面是它的外观:
如何获取号码(在本例中为 555088 117)?我也欢迎基于BeautifulSoup 的建议。
编辑:我专门寻找基于 CSS(类名或选择器)的方法。
【问题讨论】:
-
如果我在 Firebug 或开发者工具中突出显示数字本身,请不要给我任何方法来识别它(通过 CSS、XPath 或其他方式)
标签: python html css beautifulsoup lxml