我有一个带标签的页面
<img alt="1ee7aca0cf5b0132dd7a005056a9545d" src="http://assets.amuniversal.com/1ee7aca0cf5b0132dd7a005056a9545d">
我知道XPath -
//*[@id="content"]/div[2]/p/a/img
如何使用BeautifulSoup访问该标记并获取该标记的src?
答案 0 :(得分:3)
您可以尝试将xpath表达式转换为CSS选择器表达式,然后使用接受CSS选择器表达式参数的BeautifulSoup select()
方法:
soup = BeautifulSoup("your html source")
result = soup.select("#content > div:nth-of-type(2) > p > a > img")
答案 1 :(得分:1)
由于您已经熟悉xpath,为什么不使用lxml解析器,您可以直接使用xpath找到元素,这里有一个函数:
import lxml
def find_by_xpath(element_source,xpath_expression):
root = html.fromstring(element_source)
return root.xpath(xpath_expression)