我正在使用BeautifulSoup刮取一个URL,并使用以下代码查找td
标记,其类为'empformbody'
:
import urllib
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
req = urllib2.Request(url)
response = urllib2.urlopen(req)
the_page = response.read()
soup = BeautifulSoup(the_page)
soup.findAll('td',attrs={'class':'empformbody'})
现在,在上面的代码中,我们可以使用findall
获取标记和与它们相关的信息,但我想使用XPath。是否可以将XPath与BeautifulSoup一起使用?如果可能,请给我提供示例代码。
不,BeautifulSoup本身不支持XPath表达式。
另一个库lxml支持XPath1.0。它有一个BeautifulSoup兼容模式,它将尝试像Soup那样解析破碎的HTML。然而,缺省的lxml HTML解析器在解析坏掉的HTML方面做得同样好,而且我相信它更快。
一旦将文档解析为lxml树,就可以使用.xpath()
方法搜索元素。
try:
# Python 2
from urllib2 import urlopen
except ImportError:
from urllib.request import urlopen
from lxml import etree
url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = urlopen(url)
htmlparser = etree.HTMLParser()
tree = etree.parse(response, htmlparser)
tree.xpath(xpathselector)
import lxml.html
import requests
url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = requests.get(url, stream=True)
response.raw.decode_content = True
tree = lxml.html.parse(response.raw)
from lxml.cssselect import CSSSelector
td_empformbody = CSSSelector('td.empformbody')
for elem in td_empformbody(tree):
# Do something with these table cells.
for cell in soup.select('table#foobar td.empformbody'):
# Do something with these table cells.
问题内容: 我正在使用BeautifulSoup抓取网址,并且我有以下代码 现在在上面的代码中,我们可以用来获取标签和与其相关的信息,但是我想使用xpath。是否可以将xpath与BeautifulSoup一起使用?如果可能的话,任何人都可以给我提供示例代码,以使其更有帮助吗? 问题答案: 不,BeautifulSoup本身不支持XPath表达式。 另一种库,LXML, 不 支持的XPath 1.
问题内容: 我看到了其他有关xpath 2.0的问题,它显然简化了字符串表达式。我正在使用Firefox 3.5.5和Selenium 1.0.1。 如何检查我的Firefox和Selenium版本是否支持它? Selenium是否遵循Firefox的内置Xpath实现? 在那种情况下,如果我开始将另一个(也许是较旧的)浏览器与selenium一起使用,是否会因为期望xpath 2.0而遇到问题?
问题内容: 是否可以使用BeautifulSoup从HTML中删除脚本标签及其所有内容,还是必须使用正则表达式或其他内容? 问题答案:
本文向大家介绍我们可以在JSP中使用XPath表达式的switch语句吗?,包括了我们可以在JSP中使用XPath表达式的switch语句吗?的使用技巧和注意事项,需要的朋友参考一下 在<X:选择>标签的运作方式类似于Java的switch语句。有了这个,您可以在多种选择之间进行选择。如果switch语句具有case语句,则<x:choose>标记具有<x:when>标记。以类似的方式,switc
本文向大家介绍我们可以在JSP中测试XPath表达式吗?,包括了我们可以在JSP中测试XPath表达式吗?的使用技巧和注意事项,需要的朋友参考一下 <X:如果>标签计算一个测试XPath表达式,并且如果它是真实的,它处理它的身体。如果测试条件为假,则忽略主体。 属性 <X:如果>标签具有以下属性- 属性 描述 需要 默认 选择 要评估的XPath表达式 是 没有 变种 用于存储条件结果的变量名称
问题内容: 我是JPA的新手。 根据我的理解,JPA是规范,Hibernate实现JPA并提供附加功能以及JPA方法。 但是我正在阅读JPA教程,其中使用对象可以对数据执行CRUD,而无需使用Hibernate库! 所以任何人都可以让我知道 是否可以单独使用JPA 而不使用Hibernate 来使用方法? 请提及一些有用的链接或示例。 非常感谢您的回应。 谢谢。 问题答案: 您是正确的JPA是规范