使用Python爬取给定网页的所有链接(附完整代码)

yumo6669小时前技术文章2

此脚本从给定的网页中检索所有链接,并将其保存为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)

相关文章

盘点在线代码编辑测试网站(在线编写代码网站)

对于一些前端的样式和js效果,我们非常希望可以将这些代码片段保存起来,然后分享给那些想要使用这些样式特效的人,庆幸的是,网络上已经有很多这样的网站了,今天我们就来盘点一下这些非常好用的网站。jsfid...

把CSS代码“减肥”30%后,灯具独立站加载速度快了2秒

”上个月,帮佛山李总做跨境灯具站时,技术顾问的话让他直挠头——网站刚上线,流量还没起来,就被“速度”卡了脖子。我打开Chrome开发者工具,吓了一跳:一个详情页的CSS文件有1.2MB,JS文件800...

源自codepen的25个最受欢迎的HTML/CSS 代码

Codepen是一个非常了不起的网页应用。只要电脑能够上网,你就可以创建HTML, CSS和Javascript。如果你想选择性加入PRO版本,你会得到一些非常酷的效果诸如:世界范围内的成对编程(在线...

从网站检查中复制CSS代码的最简单方法

在处理网站项目时,您是否曾经对使用开发工具感到沮丧?必须在您正在处理的网页和检查器之间来回切换以查看CSS并进行调整通常可能是一个挑战。值得庆幸的是,有一个浏览器扩展程序可以简化该过程:CSS Sca...

可以看得见的代码运行:编程教学网站

可视化的查看代码运行原理的网站以下是几个常见的可视化查看代码运行原理的网站:Python Tutor(http://www.pythontutor.com):Python Tutor 是一个在线的代码...

短网址见多了,来看看这个长长长长长网址

短网址的由来说起短网址的由来,不得不提到一个平台,那就是微博。微博早期时候,每条微博最多只能写 140 个字,这就导致如果你想在一条微博中写一条网址,那么网址就会占用一大半的内容。于是人们就想,能不能...