我是Beautifulsoup 4的新手,发现它非常方便!但是,当我需要拆分字符串时,我遇到了问题:
这里有一个例子:
我有一个链接
<a href="http://nihao-wobuhao?%93%23%24%12&sort=102">NIHAO</a>
我得到了soap.findChildren('a')
这一行,但如果我只需要'sort = 102'那么该怎么办?
我尝试使用soap.find_all(re.compile(^sort=.*?))
但它不起作用,任何人都可以帮助我吗?提前谢谢!
答案 0 :(得分:1)
urlparse
module会挑选出一些网址。您可以使用它来获取您正在查找的查询参数。
答案 1 :(得分:0)
详细说明@ Don的答案:
a
元素,例如,文字href
属性Tag
属性值
urlparse.parse_qs()
获取网址查询参数工作样本:
>>> from bs4 import BeautifulSoup
>>> from urlparse import urlparse, parse_qs
>>>
>>> html = '<a href="http://nihao-wobuhao?%93%23%24%12&sort=102">NIHAO</a>'
>>> parse_qs(urlparse(soup.find("a", text="NIHAO")['href']).query)['sort'][0]
u'102'
请注意,在Python 3中,您需要将urlparse导入更改为:
>>> from urllib.parse import urlparse, parse_qs