这并不是真正的抓取,我只是想在类具有特定值的网页中找到 URL。例如:
<a class="myClass" href="/url/7df028f508c4685ddf65987a0bd6f22e">
我想获得 href 值。关于如何做到这一点的任何想法?也许正则表达式?你能发布一些示例代码吗?我猜想html抓取库,比如BeautifulSoup,只是为了这个有点矫枉过正......
非常感谢!
这并不是真正的抓取,我只是想在类具有特定值的网页中找到 URL。例如:
<a class="myClass" href="/url/7df028f508c4685ddf65987a0bd6f22e">
我想获得 href 值。关于如何做到这一点的任何想法?也许正则表达式?你能发布一些示例代码吗?我猜想html抓取库,比如BeautifulSoup,只是为了这个有点矫枉过正......
非常感谢!
正则表达式通常是一个坏主意,尝试使用BeautifulSoup
快速示例:
html = #get html
soup = BeautifulSoup(html)
links = soup.findAll('a', attrs={'class': 'myclass'})
for link in links:
#process link
啊,不是用于解析 HTML 的正则表达式!
幸运的是,在 Python 中,我们有BeautifulSoup或lxml来为我们完成这项工作。
正则表达式将是一个糟糕的选择。HTML 不是常规语言。美丽的汤怎么样?
不应该使用正则表达式来解析 HTML。请参阅此问题的第一个答案以获得解释:)
为 BeautifulSoup +1。
如果您的任务就是这么简单,只需使用字符串操作(甚至无需正则表达式)
f=open("htmlfile")
for line in f:
if "<a class" in line and "myClass" in line and "href" in line:
s = line [ line.index("href") + len('href="') : ]
print s[:s.index('">')]
f.close()
对于这种情况,HTML 解析器不是必须的。
阅读 Parsing Html The Cthulhu Way https://blog.codinghorror.com/parsing-html-the-cthulhu-way/
问题是我知道 HTML 页面的结构,我只想找到特定类型的链接(其中 class="myclass")。还是美汤?