python网络爬取个人学习指南-(一)

**************************************************************************************************************

author:keyinfo

date:2024-09-07 15:47

**************************************************************************************************************

此部分为初步实现网页信息捕获和错误信息捕获

下面是我对AI相关提问

问:python3 -m venv filename

这是在 Python 中创建虚拟环境的命令。

“python3 -m venv filename” 的作用是创建一个名为 “filename” 的独立的 Python 环境。虚拟环境有很多好处呢。

一方面,它可以让你在不同的项目中使用不同版本的 Python 库,避免了库之间的冲突。比如,一个项目可能需要某个特定版本的库,而另一个项目可能需要不同版本的同一个库。如果没有虚拟环境,这些项目可能会相互干扰。

另一方面,虚拟环境可以让你的项目更加可移植。你可以把包含虚拟环境的项目文件夹复制到另一台电脑上,只要那台电脑上安装了 Python,就可以直接运行你的项目,而不需要担心缺少某些库或者库的版本不兼容。

创建虚拟环境后,你需要激活它才能使用。在不同的操作系统上激活的方式略有不同。一般来说,在命令行中进入虚拟环境的文件夹,然后执行相应的激活命令即可。

问:这个命令和用sorce命令启动新的虚拟环境有什么区别

“python3 -m venv filename” 和使用 “source” 命令启动虚拟环境有以下一些区别:

一、创建方式

  • “python3 -m venv filename” 是通过 Python 的内置模块 venv 来创建一个全新的虚拟环境。它会在指定的 “filename” 目录下生成一套独立的 Python 解释器副本以及相关的库和脚本。
  • 通常情况下,“source” 命令不是用于创建虚拟环境,而是用于激活已经存在的虚拟环境。比如在 Linux 或 macOS 系统中,激活虚拟环境的命令通常是 “source venv/bin/activate”(假设虚拟环境名为 venv),Windows下在cmd界面运行Scripts目录下的activate.bat文件

二、功能特点

  • 使用 “python3 -m venv filename” 创建的虚拟环境相对干净和独立,它只包含了基本的 Python 标准库,不包含其他额外的第三方库,你可以根据项目需求逐个安装所需的库,这样可以更好地控制项目的依赖关系。
  • 当使用 “source” 命令激活虚拟环境后,你的命令行提示符会发生变化,以提示你当前处于虚拟环境中。在这个虚拟环境中安装的库和执行的命令只会影响这个特定的环境,不会干扰系统全局的 Python 环境或其他虚拟环境。

三、适用场景

  • “python3 -m venv filename” 适用于开始一个新的项目,或者当你需要一个完全独立的、不受其他项目影响的开发环境时。
  • “source” 命令则在你已经有一个创建好的虚拟环境,并且需要在这个环境中进行开发、测试或运行项目时使用。

为避免环境混乱,我们可以创建虚拟环境进行安装依赖库。LINUX和mac有点特殊是使用source进行激活环境,但是在Windows下是在cmd界面运行脚本文件

下面是代码详情:

# 核心代码段
try:
    req = Request('https://baidu.com', headers=headers)
    HTML = urlopen(req)
    context = BeautifulSoup(HTML.read().decode("UTF-8"), “html.parser”)

except HTTPError as error:
    print("Worked!!!! Has a Errror!!!OMG")
    print(error)

except URLError as error:
    print("Worked!!!! Has a Errror!!!OMG")
    print(error)

else:
    print("Worked!!!! No Errror!!!OMG")
    print(context.title)
# 导入所需的库
from urllib.request import urlopen, Request
from urllib.error import HTTPError
from urllib.error import URLError
from bs4 import BeautifulSoup

# 设置请求头,模拟浏览器访问
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}

# 尝试发送请求
try:
    # 创建请求对象,包含URL和headers
    req = Request('https://baidu.com', headers=headers)
    # 打开URL并获取响应
    HTML = urlopen(req)
    # 读取响应内容并解码为字符串
    context = BeautifulSoup(HTML.read().decode("UTF-8"), "html.parser")

# 捕获HTTP错误
except HTTPError as error:
    # 打印错误信息
    print("Worked!!!! Has a Error!!!OMG")
    print(error)

# 捕获URL错误
except URLError as error:
    # 打印错误信息
    print("Worked!!!! Has a Error!!!OMG")
    print(error)

# 如果没有错误发生
else:
    # 打印成功信息
    print("Worked!!!! No Error!!!OMG")
    # 打印网页的标题
    print(context.title)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值