Python实现提取给定网页内的所有链接

 更新时间:2023年05月18日 10:42:53   作者:海拥  
这篇文章主要和大家分享一个实用的Python脚本,可以实现从给定的网页中检索所有链接,并将其保存为txt文件,需要的小伙伴可以收藏一下

此脚本从给定的网页中检索所有链接,并将其保存为txt文件。(文末有完整源码)

这是一个简单的网络爬虫示例,使用了 requests 库来发送 HTTP 请求并获取网页内容,使用 BeautifulSoup 库来解析网页内容。

代码解释如下:

1.导入所需的库

导入 requests 库并将其重命名为 rq,用于发送 HTTP 请求和获取网页内容。

import requests as rq

从 bs4 库导入 BeautifulSoup 类,用于解析 HTML 内容。

from bs4 import BeautifulSoup

2.获取用户输入的链接

提示用户输入一个链接,并将其保存在 url 变量中。

url = input("Enter Link: ")

3.发送 HTTP 请求获取网页内容

  • 使用条件语句判断用户输入的链接是否以 "https" 或 "http" 开头。
  • 如果是,则使用 rq.get(url) 发送 GET 请求获取网页内容,并将响应保存在 data 变量中。
  • 如果不是,则在链接前添加 "https://" 并使用 rq.get() 发送请求,将响应保存在 data 变量中。

4.使用 BeautifulSoup 解析网页内容

将 data.text(网页内容)传递给 BeautifulSoup 类的构造函数,指定解析器为 "html.parser",创建一个 BeautifulSoup 对象 soup。

soup = BeautifulSoup(data.text, "html.parser")

5.提取链接

  • 创建一个空列表 links 用于存储提取的链接。
  • 使用 soup.find_all("a") 查找网页中所有的 <a> 标签,并返回一个包含这些标签的列表。
  • 遍历列表中的每个标签,使用 link.get("href") 获取每个标签中的 "href" 属性值,并将其添加到 links 列表中。

6.将提取的链接写入文件

  • 使用 with open("myLinks.txt", 'a') as saved: 打开一个文件 "myLinks.txt",以追加模式。
  • 使用 print(links[:100], file=saved) 将 links 列表中的前 100 个链接写入文件中,每个链接占一行。
  • 如果需要每次覆盖文件内容而不是追加,可以将文件打开模式由 'a' 改为 'w'。

这段代码的功能是获取用户输入的链接对应网页中的前 100 个链接,并将这些链接写入到名为 "myLinks.txt" 的文件中。

运行截图

附完整代码

import requests as rq
from bs4 import BeautifulSoup

url = input("Enter Link: ")
if ("https" or "http") in url:
    data = rq.get(url)
else:
    data = rq.get("https://" + url)
soup = BeautifulSoup(data.text, "html.parser")
links = []
for link in soup.find_all("a"):
    links.append(link.get("href"))

# 将输出写入文件(myLinks.txt)
# 可以将“a”更改为“w”以每次覆盖文件
with open("myLinks.txt", 'a') as saved:
    print(links[:10], file=saved)

到此这篇关于Python实现提取给定网页内的所有链接的文章就介绍到这了,更多相关Python提取网页链接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用tkinter实现透明窗体

    python使用tkinter实现透明窗体

    一直在思索实现一个透明的窗体,然后可以基于这个窗体可以开发出各种好玩的应用(如桌面运动的小人、运动的小球、截图、录制GIF等等),今天无意间居然让我把其中一个最核心的技术难关突破了,我非常高兴,也借这个机会跟大家分享一下。
    2021-05-05
  • Python中的布尔类型bool

    Python中的布尔类型bool

    这篇文章主要为大家介绍了Python中的布尔类型bool使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • python实现斐波那契递归函数的方法

    python实现斐波那契递归函数的方法

    这篇文章主要介绍了python实现斐波那契递归函数的方法,通过一个非常简单的递归函数加以实现,需要的朋友可以参考下
    2014-09-09
  • Python列表的索引与切片

    Python列表的索引与切片

    这篇文章主要介绍了Python列表的索引与切片,索引用来对单个成员(元素)进行访问,切片则是对一定范围内的成员(元素)进行访问。下文相关自来需要的小伙伴可以参考一下
    2022-04-04
  • Python入门基础之变量及字符串

    Python入门基础之变量及字符串

    Python是一个不错的语言,Python语言简单易懂还具有强大的编程能力,同时对于大数据分析有很明显的帮助,这篇文章主要给大家介绍了关于Python入门基础之变量及字符串的相关资料,需要的朋友可以参考下
    2022-01-01
  • python实现的Iou与Giou代码

    python实现的Iou与Giou代码

    今天小编就为大家分享一篇python实现的Iou与Giou代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 跟老齐学Python之关于类的初步认识

    跟老齐学Python之关于类的初步认识

    这篇文章主要介绍了Python中关于类的一些术语解释,虽然有些枯燥,但是要了解类的话,这些内容是必须的
    2014-10-10
  • Python数据分析之缺失值检测与处理详解

    Python数据分析之缺失值检测与处理详解

    在实际的数据处理中,缺失值是普遍存在的,如何使用 Python 检测和处理缺失值,就是本文要讲的主要内容。感兴趣的同学可以关注一下
    2021-12-12
  • 使用Python3 编写简单信用卡管理程序

    使用Python3 编写简单信用卡管理程序

    这篇文章主要介绍了使用Python3 编写简单信用卡管理程序的代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2016-12-12
  • Python实现的文轩网爬虫完整示例

    Python实现的文轩网爬虫完整示例

    这篇文章主要介绍了Python实现的文轩网爬虫,结合完整实例形式分析了Python爬虫爬取文轩网图书信息的相关操作技巧,需要的朋友可以参考下
    2019-05-05

最新评论