从HTML代码中正确提取URL可以通过以下步骤实现:
以下是一个示例代码,使用Python和BeautifulSoup库从HTML代码中提取URL的方法:
from bs4 import BeautifulSoup
import requests
def extract_urls_from_html(html):
urls = []
soup = BeautifulSoup(html, 'html.parser')
# 提取<a>标签中的URL
for a_tag in soup.find_all('a'):
url = a_tag.get('href')
if url:
urls.append(url)
# 提取<img>标签中的URL
for img_tag in soup.find_all('img'):
url = img_tag.get('src')
if url:
urls.append(url)
# 处理相对路径
base_url = 'http://example.com' # 假设当前页面的URL或基准URL
urls = [base_url + url if not url.startswith('http') else url for url in urls]
# 验证URL有效性(可选)
valid_urls = []
for url in urls:
response = requests.head(url)
if response.status_code == 200:
valid_urls.append(url)
return valid_urls
# 示例用法
html_code = '''
<html>
<body>
<a href="https://www.example.com">Example Website</a>
<img src="/images/logo.png">
</body>
</html>
'''
urls = extract_urls_from_html(html_code)
print(urls)
这个方法通过解析HTML代码,定位并提取<a>标签和<img>标签中的URL,处理相对路径,并可选地验证URL的有效性。对于提取到的URL,可以根据实际需求进行进一步处理或使用。
领取专属 10元无门槛券
手把手带您无忧上云