python 实现一个简单的网页爬虫程序

news/2024/9/18 4:56:22/ 标签: python, 爬虫

最近在学习python,以下为网页爬虫代码,供参考

1、爬取指定网页的标题和所有的连接

2、并将这些信息保存到一个文件中。

前置:因使用到网页相关的功能,故需导入requests、BeautifulSoup 库来完成

#导入网页相关的库

import requests

from bs4 import BeautifulSoup

#定义一个函数get_page()

def get_page(url):

        response = requests.get(url)        # 发送HTTP的get请求

        # 解析响应内容为HTML(此处使用*.content,否则使用*.text有乱码)

        soup = BeautifulSoup(response.content, 'html.parser')  

  

        # 获取链接的文本内容,即标题

        # *.title代表HTML文档中<title>标签,*.string属于则用于获取该标签内的直接文本内容

        title = soup.title.string      

        links = soup.find_all('a')              # 找到所有的<a>标签,即链接  

        

        # 打开文件用于保存
        with open('results.txt', 'w', encoding='utf-8') as file:

                file.write(f"网页标题:{title}")             # 保存标题到文件

                # 遍历所有连接
                for link in links:       

                        # 获取链接的href属性,即URL;  # 保存链接到文件

                        file.write("\n\nURL:")

                        file.write(link.get('href'))
 
# 使用方法
get_page('https://mail.163.com')

3、远行后,可在“results.txt”文件查看到网页标题及URL

特别注意python的格式要求较高


http://www.ppmy.cn/news/1519158.html

相关文章

干货分享|分享一款高效的软件卸载神器 Geek Uninstaller

问题&#xff1a;卸载软件时&#xff0c;时常会留下残留文件和注册表。当遇到流氓软件&#xff0c;还常常卸载失败。 1.软件介绍 特点&#xff1a;高效快速&#xff0c;小巧便携。100% 免费 2.下载方法 官方下载网站&#xff1a;Geek Uninstaller - the best FREE uninstaller …

中锂天源锂电池:为卡车驻车空调提供高效、安全、持久的能源解决方案

随着我国运输行业的飞速发展&#xff0c;卡车司机对驾驶环境和行车舒适度的要求越来越高。在炎炎夏日或寒冷冬季&#xff0c;驻车空调已成为卡车司机的必需品。然而&#xff0c;传统驻车空调供电方式存在诸多问题&#xff0c;如电力不足、续航时间短等。为解决这一痛点&#xf…

Unet改进17:添加ShuffleAttention||减少冗余计算和同时存储访问

本文内容:在不同位置添加ShuffleAttention注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 注意机制使神经网络能够准确地关注输入的所有相关元素,已成为提高深度神经网络性能的重要组成部分。在计算机视觉研究中广泛应用的注意机制主要有空间注…

ElasticSearch7.12.1详细安装

部署ElasticSearch docker安装 因为我们还需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里先创建一个网络 创建网络 docker network create es-net 查看网络列表 docker network ls 获取镜像包 docker pull elasticsearch:7.12.1 运行 docker run -d \ -…

【扩散模型(七)】IP-Adapter 与 IP-Adapter Plus 的具体区别是什么?

系列文章目录 【扩散模型&#xff08;二&#xff09;】IP-Adapter 从条件分支的视角&#xff0c;快速理解相关的可控生成研究【扩散模型&#xff08;三&#xff09;】IP-Adapter 源码详解1-训练输入 介绍了训练代码中的 image prompt 的输入部分&#xff0c;即 img projection…

EXO:模型最终验证的地方;infer_tensor;step;MLXDynamicShardInferenceEngine

目录 EXO:模型最终验证的地方 EXO:infer_tensor EXO:step MXNet的 mx.array 类型是什么 NDArray优化了什么 1. 异步计算和内存优化 2. 高效的数学和线性代数运算 3. 稀疏数据支持 4. 自动化求导 举例说明 EXO:模型最终验证的地方 EXO:infer_tensor 这段代码定…

MariaDB 和 MySQL 版本关联

MariaDB 和 MySQL 是两个常用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它们在很多方面非常相似&#xff0c;因为 MariaDB 是 MySQL 的一个分支。MariaDB 和 MySQL 之间的版本关联可以通过以下几个方面来理解&#xff1a; 1. 历史背景 MySQL: MySQL 是…

数学建模强化宝典(1)级比检验

前言 级比检验是灰色预测中一个重要的步骤&#xff0c;主要用于判断原始数据是否满足准指数规律&#xff0c;从而确定数据是否适合进行灰色预测分析。 一、级比检验的定义 级比检验是通过计算原始数据与其前一期数据的比值&#xff08;即级比&#xff09;&#xff0c;并对级比进…

智普大模型API调用

接口 用python调用智普免费API接口的例子,写成函数, 类似于 def get_answer(prompt):url = http://34.132.32.68:8081/v1/chat/completionsheaders = {Content-Type: application/json,}data = {"model": "Qwen2-72B-int4","messages": [{&q…

强化学习——马尔可夫决策过程的理解

目录 一、马尔可夫决策过程1.策略2.状态价值函数3.动作价值函数4.贝尔曼期望方程 参考文献 一、马尔可夫决策过程 马尔可夫决策过程&#xff08;MDP&#xff09;是马尔可夫奖励过程&#xff08;MRP&#xff09;的扩展&#xff0c;它引入了“动作”这一外界的影响因素&#xff0…

vscode怎么改成黑色主题?

在Visual Studio Code&#xff08;简称VS Code&#xff09;中&#xff0c;将界面调整为黑色主题是一个简单的过程&#xff0c;可以通过几个步骤轻松完成。以下是详细的操作指南&#xff0c;涵盖了从基本设置到高级自定义化的不同方法。 通过用户设置更改主题 打开设置&#xf…

C# 去掉字符串最后一个字符的5种方法

C# 去掉字符串最后一个字符的 5 种方法 &#xff08;1&#xff09;Substring string original "Hello!"; string result original.Substring(0, original.Length - 1); Console.WriteLine(result); // 输出: Hello &#xff08;2&#xff09;Remove string o…

prometheus安装篇

一、安装 1、下载二进制安装包 https://github.com/prometheus/prometheus/releases/download/v2.25.0/prometheus-2.25.0.linux-amd64.tar.gz 2、解压 rootxxx:~# cd /data rootxxx:~# tar -xf prometheus-2.25.0.linux-amd64.tar.gz rootxxx:~# mv prometheus-2.25.0.li…

比较一下React与Vue

React和Vue都是现代前端开发中广泛使用的JavaScript库&#xff0c;它们各自具有独特的特点和优势。以下是对React和Vue的比较&#xff1a; 1. 开发模式和范式 React&#xff1a; 本质是一个前端组件框架&#xff0c;由后端组件演化而来。 鼓励将UI分解为小的、独立的、可复用…

零基础学习人工智能—Python—Pytorch学习(九)

前言 本文主要介绍卷积神经网络的使用的下半部分。 另外&#xff0c;上篇文章增加了一点代码注释&#xff0c;主要是解释(w-f2p)/s1这个公式的使用。 所以&#xff0c;要是这篇文章的代码看不太懂&#xff0c;可以翻一下上篇文章。 代码实现 之前&#xff0c;我们已经学习了概念…

神经网络搭建实战与Sequential的使用

一、需要处理的图像 二、对上述图片用代码表示&#xff1a; import torch from torch import nn from torch.nn import Conv2d, MaxPool2d, Flatten, Linearclass SUN(nn.Module):def __init__(self):super(SUN, self).__init__()self.conv1 Conv2d(3, 32, 5, padding2)self…

vivado 的 ila 接AXI 总线一直报错

反复测试都是The debug hub core was not detected。 接线正确的前提下总是报错&#xff0c;我的时钟接的ps端的时钟线FCLK_CLK0.对jtag的频率多次调整也没效果&#xff0c;后来参考他人意见&#xff0c;重启了ps端&#xff0c;解决问题。 重启PS端就是将vitis软件至于DEBUG状…

关于测试工程师在性能测试工具jmeter的熟悉和精通

经过一周的jmeter接口编写&#xff0c;不不不&#xff0c;是一年1-2次的jmeterd 使用&#xff0c;每次都是新的发现&#xff0c;新的起点&#xff01;&#xff01; 去年10月学习过的东西&#xff0c;现在还是不记得当时怎么这么聪明&#xff0c;于是&#xff0c;每次都是0基础…

[译] RAGFlow 使用说明

本文翻译整理自&#xff1a;https://ragflow.io/docs/dev/ 本文档更多是 RAGFlow 系统操作内容&#xff0c;虽然不难/深刻&#xff0c;但有些细节没有注意&#xff0c;在搭建和使用的时候就容易出各类问题。所以读完这个文档是有必要的。 文章目录 快速启动一、先决条件二、启…

【无人机设计与控制】使用 Simulink 进行四轴飞行器/四旋翼飞行器仿真

摘要 本文介绍了如何使用Simulink进行四轴飞行器&#xff08;四旋翼&#xff09;仿真&#xff0c;通过建立详细的动力学模型和控制系统&#xff0c;实现对四旋翼无人机的姿态、位置和路径控制的精确仿真。该仿真环境不仅能够用于研究无人机的飞行控制性能&#xff0c;还可用于…