我在http://somedomain.com/somedir/example.html
上有一个html文档该文件包含四个链接:
http://otherdomain.com/other.html
http://somedomain.com/other.html
/only.html
的test.html
如何获取当前域中链接的完整网址?
我的意思是我应该得到:
http://somedomain.com/other.html
http://somedomain.com/only.html
http://somedomain.com/somedir/test.html
应忽略第一个链接,因为它与我的域
不匹配答案 0 :(得分:1)
像
这样的东西doc.search("a").map do |a|
url = a.attribute("href")
#this part could be a lot more robust, but you get the idea...
full_url = url.match("^http://") ? url : "http://somedomain.com/#{url}"
end.select{|url| url.match("^http://somedomain.com")}
答案 1 :(得分:0)
使用正则表达式从href =“URL”中提取链接 然后如果它不以“http”
开头,则与域连接这是一个Python示例:
import re
import urlparse
domain = ...
html = ...
links = re.findall('href=[\'"](.*?)[\'"]', html)
links = [urlparse.urljoin(domain, link) for link in links if link]