PHP前端开发

爬虫python怎么获取链接

百变鹏仔 5天前 #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'))