我正在尝试仅将下面字符串的<a> </a>
标记与“服务团队成员 - Ryde”匹配。
<a href="/cmp/_/job?jk=3711c253b2f3ccef&tk=1a1dof">Services Team Members - Ryde</a>
挑战是在“... p / _ / job?”之后排除随机字符串。 目前我的解决方案包括结果中的随机
<a href="/cmp/_/job\?(.*)>(.*)</a>
我已经研究过看似但却无法让他们工作
答案 0 :(得分:1)
Don&#t; t(ever)用正则表达式解析HTML。使用解析器。
有一个很好的HTML解析器可用于Python,名为PyQuery,另一个名为BeautifulSoup。使用其中一个。
from pyquery import PyQuery as pq
doc = pq(url="http://your_url/")
link = doc("a:contains('Services Team Members - Ryde')")
print(link.attr("href"))
打印
'/cmp/_/job?jk=3711c253b2f3ccef&tk=1a1dof'
在你受到诱惑之前,不要用正则表达式解析URL。使用parser。
from urlparse import urlparse, parse_qs
url = urlparse('/cmp/_/job?jk=3711c253b2f3ccef&tk=1a1dof')
params = parse_qs(url.query)
print(params)
打印
{'tk': ['1a1dof'], 'jk': ['3711c253b2f3ccef']}