本文目录导读:

- 方法1:浏览器控制台(最简单)
- 方法2:Python + BeautifulSoup
- 方法3:Python + Selenium(处理JavaScript渲染)
- 方法4:Node.js + Cheerio
- 方法5:命令行工具
- 方法6:保存到文件
- 注意事项
方法1:浏览器控制台(最简单)
在浏览器中按F12打开开发者工具,在Console中输入:
// 获取所有链接
const links = Array.from(document.querySelectorAll('a')).map(a => a.href);
console.log(links);
// 或者更详细的信息
const linksInfo = Array.from(document.querySelectorAll('a')).map(a => ({
text: a.textContent.trim(),
href: a.href, a.title,
target: a.target
}));
console.log(linksInfo);
方法2:Python + BeautifulSoup
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
def get_all_links(url):
# 发送请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')
# 获取所有链接
links = []
for a in soup.find_all('a', href=True):
href = a['href']
# 转换为绝对URL
absolute_url = urljoin(url, href)
links.append({
'text': a.get_text(strip=True),
'href': absolute_url,
'title': a.get('title', '')
})
return links
# 使用示例
url = 'https://example.com'
links = get_all_links(url)
for link in links:
print(f"文本: {link['text']}, URL: {link['href']}")
方法3:Python + Selenium(处理JavaScript渲染)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
def get_links_selenium(url):
# 配置浏览器选项
options = Options()
options.headless = True # 无头模式
# 启动浏览器
driver = webdriver.Chrome(options=options)
driver.get(url)
# 等待页面加载
time.sleep(3)
# 获取所有链接
links = driver.find_elements_by_tag_name('a')
result = []
for link in links:
result.append({
'text': link.text,
'href': link.get_attribute('href'),
'title': link.get_attribute('title')
})
driver.quit()
return result
url = 'https://example.com'
links = get_links_selenium(url)
for link in links:
print(f"文本: {link['text']}, URL: {link['href']}")
方法4:Node.js + Cheerio
const axios = require('axios');
const cheerio = require('cheerio');
async function getAllLinks(url) {
try {
// 获取页面
const response = await axios.get(url, {
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
});
// 解析HTML
const $ = cheerio.load(response.data);
// 提取链接
const links = [];
$('a').each((i, element) => {
const link = $(element);
links.push({
text: link.text().trim(),
href: link.attr('href'),
title: link.attr('title') || ''
});
});
return links;
} catch (error) {
console.error('Error:', error);
return [];
}
}
// 使用示例
getAllLinks('https://example.com').then(links => {
links.forEach(link => {
console.log(`文本: ${link.text}, URL: ${link.href}`);
});
});
方法5:命令行工具
# 使用 curl 和 grep
curl -s https://example.com | grep -oP 'href="\K[^"]*'
# 使用 wget 获取所有链接
wget --spider -r -l 1 https://example.com 2>&1 | grep '^--' | awk '{ print $3 }'
# 使用 Python 一行命令
python -c "import requests; from bs4 import BeautifulSoup; [print(a.get('href')) for a in BeautifulSoup(requests.get('https://example.com').text, 'html.parser').find_all('a', href=True)]"
方法6:保存到文件
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
def save_links_to_file(url, output_file='links.txt'):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
with open(output_file, 'w', encoding='utf-8') as f:
for a in soup.find_all('a', href=True):
absolute_url = urljoin(url, a['href'])
f.write(f"{a.get_text(strip=True)} - {absolute_url}\n")
print(f"链接已保存到 {output_file}")
# 使用
save_links_to_file('https://example.com')
注意事项
- 遵守robots.txt:确保网站允许爬取
- 请求频率:不要过于频繁地请求,添加延迟
- 编码问题:设置正确的编码
- :如果页面有JavaScript渲染的内容,需要使用Selenium
- 相对路径:注意将相对路径转换为绝对URL
- 去重:可能需要去重处理
选择最适合您需求的方法即可,如果是简单的静态页面,使用浏览器控制台即可;如果需要程序化处理,建议使用Python方案。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播