爬虫python怎么获取链接
Python 中用于获取链接的库包括:1. BeautifulSoup;2. HtmlParser;3. lxml;4. Requests;5. Selenium。其中,BeautifulSoup、lxml 和 Requests 是常用的方法。
爬虫 Python 获取链接
获取链接是爬虫的主要任务之一。Python 中有多种用于获取链接的库,包括:
1. BeautifulSoup
BeautifulSoup 是一个流行的 HTML 解析库,可用于轻松提取页面上的链接。
立即学习“Python免费学习笔记(深入)”;
from bs4 import BeautifulSoup# 创建 BeautifulSoup 对象soup = BeautifulSoup(html, 'html.parser')# 查找所有链接links = soup.find_all('a')# 遍历链接并输出文本和链接for link in links: print(link.text, link.get('href'))
2. HtmlParser
HtmlParser 是 Python 标准库中用于解析 HTML 的一个模块。
import html.parserclass MyHtmlParser(html.parser.HTMLParser): def handle_starttag(self, tag, attrs): if tag == 'a': print(dict(attrs).get('href'))# 创建 HTMLParser 对象parser = MyHtmlParser()# 馈送 HTML 并处理parser.feed(html)
3. lxml
lxml 是一个强大的 XML 处理库,也可用于解析 HTML。
from lxml import html# 创建 lxml 树tree = html.fromstring(html)# 查找所有链接links = tree.xpath('//a/@href')# 输出链接for link in links: print(link)
4. Requests
Requests 是一个用于发送 HTTP 请求的库,还可以用于获取链接。
import requests# 发送 GET 请求并获取响应response = requests.get(url)# 解析响应并提取链接soup = BeautifulSoup(response.text, 'html.parser')links = soup.find_all('a')# 输出链接for link in links: print(link.get('href'))
5. Selenium
Selenium 是一种用于自动化 Web 浏览的库,也可用于获取链接。
from selenium import webdriver# 创建 WebDriverdriver = webdriver.Firefox()# 加载页面driver.get(url)# 查找所有链接links = driver.find_elements_by_css_selector('a')# 输出链接for link in links: print(link.get_attribute('href'))