Windows IDEA Python开发环境安装+爬虫示例

文章目录

    • Python下载安装
    • 开发工具IDEA
    • 包管理
      • 安装pip
      • 基本用法
      • 从 requirements.txt 安装依赖
    • 项目示例
    • 部署
      • 在 Linux 上安装Python
      • 在 Linux 上创建虚拟环境:
      • 安装依赖:
      • 运行你的爬虫

Python下载安装

Python 安装包下载地址:https://www.python.org/downloads/

  • https://www.python.org/downloads/windows/

1.有两个版本的 Python,分别是 Python 3.x 和 Python 2.x,选择3.x

  • embeddable zip file表示.zip格式的绿色免安装版本,可以直接嵌入(集成)到其它的应用程序中;
  • executable installer表示.exe格式的可执行程序,这是完整的离线安装包,一般选择这个即可;

2.下载安装,勾选ADD python to PATH,安装即可

3.验证

# 在控制台输入python
python
# 输出
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
# 输入exit()退出
exit()

开发工具IDEA

1.下载Python插件

2.新建项目

其中的环境类型为:选择第一个虚拟环境【python-virtualenv】

虚拟环境为您的Python包提供了一个干净的工作空间,以便您安装的库不会与为其他项目安装的库发生冲突。

包管理

类似java中的maven,python有很多优秀的管理工具pip、anaconda、poetry

这里我们使用自带的pip

安装pip

大多数情况下,Python 安装时已经包含了 pip。您可以通过以下命令检查是否已安装:

pip --version

如果没有安装,可以使用以下命令安装:

python -m ensurepip --default-pip

基本用法

一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow,因此,安装Pillow的命令就是:

pip install Pillow
# 查看已安装的包
pip list
# 查找包
pip search package_name
# 安装包
pip install package_name
# 安装特定版本
pip install package_name==1.2.3
# 安装大于或等于某版本的最新版
pip install "package_name>=1.2.3"
# 升级包 到最新版本
pip install --upgrade package_name
# 卸载包
pip uninstall package_name
# 查看包的信息
pip show package_name
# 
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

从 requirements.txt 安装依赖

如果您有一个 requirements.txt 文件,其中列有项目依赖的包及其版本,可以使用以下命令一次性安装它们:

pip install -r requirements.txt

requirements.txt示例

# 项目依赖列表
package1==1.2.3
package2>=2.0.0
package3<4.0.0

根据具体的包和版本要求来编辑这个文件。通常,在团队协作或部署项目时,使用 requirements.txt 是一种标准的做法,以确保每个开发者或部署环境都使用相同的依赖版本。

导出依赖信息

在你的项目目录下,运行以下命令,将当前虚拟环境的依赖导出到 requirements.txt 文件:

pip freeze > requirements.txt

这会生成一个包含项目依赖的文件,其中包括 requestsbeautifulsoup4

项目示例

网络爬虫是一种自动化程序,用于抓取互联网上的数据。网络爬虫可以自动访问网页、解析网页内容、提取所需数据、存储数据等。通过使用网络爬虫,我们可以获取大量的数据,从而进行数据分析、数据挖掘等应用。

  • 在抓取网站数据时,需要遵守网站的robots协议和使用条款等规定,不得未经授权地进行抓取。
  • 在抓取网站数据时,需要考虑网络性能和资源消耗,避免对网站造成不必要的负担。
  • 在抓取网站数据时,需要考虑数据质量和数据安全,避免抓取到恶意数据或错误数据。

网络爬虫常用库如下

  • requests库:用于发送HTTP请求和接收HTTP响应。例如,使用requests.get(url)来发送GET请求,使用requests.post(url, data)来发送POST请求。
  • BeautifulSoup库:用于解析HTML和XML文档。例如,使用BeautifulSoup(html, ‘html.parser’)来解析HTML文档,使用BeautifulSoup(xml, ‘xml’)来解析XML文档。

以下是一个爬虫示例:

首先安装上面2个依赖库

pip install requests

pip install beautifulsoup4

import requests
from bs4 import BeautifulSoupurl = 'https://www.python.org/'# 发送HTTP请求
response = requests.get(url)# 解析HTML文档
soup = BeautifulSoup(response.text, 'html.parser')# 提取数据
title = soup.title.string
links = [link.get('href') for link in soup.find_all('a')]# 打印结果
print(title)
for link in links:print(link)

部署

在 Linux 上安装Python

sudo yum install python3
# 显示已安装的版本号
python --version
# python3用这个
python3 --version

在 Linux 上创建虚拟环境:

在 Linux 服务器上,进入你的项目目录,并创建一个新的虚拟环境:

python3 -m venv venv

激活虚拟环境:

source venv/bin/activate

安装依赖:

使用 pip 安装项目依赖:

pip install -r requirements.txt
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
pip install --upgrade pip
# 或者手动安装
pip install requestspip install beautifulsoup4

运行你的爬虫

确保你的项目中有一个入口文件(例如,main.py),然后在虚拟环境中运行你的爬虫:

python3 main.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/168045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle登录认证方式详解

文章目录 一、简介二、OS认证三、口令认证四、remote_login_passwordfile 详解 一、简介 在数据库管理中&#xff0c;登录认证是确保数据库安全性的重要环节。Oracle数据库提供 了两种认证方式&#xff0c;一种是“操作系统认证”&#xff0c;一种是“口令文件认证&#xff0c…

智安网络|如何最大限度地提高企业网络安全水平

在当今数字化时代&#xff0c;企业面临着日益复杂和智能化的网络威胁。为了保护企业的机密信息和客户数据&#xff0c;漏洞扫描成为了一个至关重要的安全措施。然而&#xff0c;对于企业来说&#xff0c;他们最关心的是什么问题呢&#xff1f; 一、漏洞的发现和修复 在网络安全…

路径规划之Best-First Search算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之Best-First Search算法 系列文章目录前言一、Best-First Search算法1.1 起源1.2 过程 三、简单使用 前言 Best-First Search算法和Dijkstra算法类似&#xff0c;都属于BFS的扩展或改进 一、…

基于官方YOLOv4开发构建目标检测模型超详细实战教程【以自建缺陷检测数据集为例】

本文是关于基于YOLOv4开发构建目标检测模型的超详细实战教程&#xff0c;超详细实战教程相关的博文在前文有相应的系列&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a;《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、…

Linux技能篇-非交互式修改密码

今天的文章没有格式&#xff0c;简单分享一个小技能&#xff0c;就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

一文彻底看懂Python切片,Python切片理解与操作

1.什么是切片 切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。 说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

【云原生 Prometheus篇】Prometheus的动态服务发现机制

自动发现 一、Prometheus服务发现 理论部分1.1 Prometheus数据采集配置1.2 基于文件的服务发现1.3 基于consul的服务发现1.4 基于 Kubernetes API 的服务发现1.4.1 概念1.4.2 部分配置参数1.4.3 配置模板 二、实例一&#xff1a;部署基于文件的服务发现2.1 创建用于服务发现的文…

uniapp 轮播图(含组件封装,自动注册全局组件)

效果预览 组件封装 src\components\SUI_Swiper.vue 可参考官网配置更多属性 swipernavigator <script setup lang"ts"> import { ref } from vue defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) &…

一起学docker系列之八使用 Docker 安装配置 MySQL

目录 前言步骤 1&#xff1a;拉取 MySQL 镜像步骤 2&#xff1a;运行 MySQL 容器步骤 3&#xff1a;检查容器状态步骤 4&#xff1a;进入 MySQL 容器步骤 5&#xff1a;配置 MySQL 字符编码步骤 6&#xff1a;重启 MySQL 容器步骤 7&#xff1a;测试字符编码步骤 8&#xff1a;…

防止应用程序截屏(容器式,防止极域电子教室和录屏软件录制)

核心原理、实现目的 1、使用Panel容器将外部窗口嵌入自己写的程序 2、使用防止截屏的函数来对窗口透明&#xff0c;这可以使本窗口内所有窗口在录屏软件上消失 3、解放&#xff0c;抓取&#xff0c;存储句柄&#xff0c;实现摆脱录屏&#xff08;极域监控&#xff09; 程序…

用 Addon 增强 Node.js 和 Electron 应用的原生能力

前言 Node.js Addon 是 Node.js 中为 JavaScript 环境提供 C/C 交互能力的机制。其形态十分类似 Java 的 JNI&#xff0c;都是通过提供一套 C/C SDK&#xff0c;用于在 C/C 中创建函数方法、进行数据转换&#xff0c;以便 JavaScript / Java 等语言进行调用。这样编写的代码通常…

Spring - Mybatis-设计模式总结

Mybatis-设计模式总结 1、Builder模式 2、工厂模式 3、单例模式 4、代理模式 5、组合模式 6、模板方法模式 7、适配器模式 8、装饰者模式 9、迭代器模式 虽然我们都知道有26个设计模式&#xff0c;但是大多停留在概念层面&#xff0c;真实开发中很少遇到&#xff0c;…

【数据结构】时间和空间复杂度

马上就要进入到数据结构的学习了 &#xff0c;我们先来了解一下时间和空间复杂度&#xff0c;这也可以判断我们的算法是否好坏&#xff1b; 如何衡量一个算法的好坏&#xff1f; 就是看它的算法效率 算法效率 算法效率分析分为两种&#xff1a;第一种是时间效率&#xff0c;第…

CVE-2023-22515:Atlassian Confluence权限提升漏洞复现 [附POC]

文章目录 Atlassian Confluence权限提升(CVE-2023-22515)漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 Atlassian Confluence权限提升(CVE-2023-22515)漏洞复现 [附POC] 0x01 前言 免责声明&…

vue中下载文件后无法打开的坑

今天在项目开发的时候临时要添加个导出功能我就写了一份请求加导出得代码&#xff0c; 代码&#xff1a; //导出按钮放开exportDutySummarizing (dataRangeInfo) {const params {departmentName: dataRangeInfo.name,departmentQode: dataRangeInfo.qode}//拼接所需得urlcons…

第一百七十八回 介绍一个三方包组件:SlideSwitch

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"如何创建垂直方向的Switch"相关的内容&#xff0c;本章回中将 介绍SlideSwitch组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们…

多功能智能灯杆主要功能有哪些?

多功能智能灯杆这个词相信大家都不陌生&#xff0c;最近几年多功能智能灯杆行业发展迅速&#xff0c;迅速取代了传统路灯&#xff0c;那么多功能智能灯杆相比传统照明路灯好在哪里呢&#xff0c;为什么大家都选择使用叁仟智慧多功能智能灯杆呢&#xff1f;所谓多功能智能灯杆着…

【libGDX】Mesh纹理贴图

1 前言 纹理贴图的本质是将图片的纹理坐标与模型的顶点坐标建立一一映射关系。纹理坐标的 x、y 轴正方向分别朝右和朝下&#xff0c;如下。 2 纹理贴图 本节将使用 Mesh、ShaderProgram、Shader 实现纹理贴图&#xff0c;OpenGL ES 的实现见博客 → 纹理贴图。 DesktopLauncher…

超级应用平台(HAP)起航

各位明道云用户和伙伴&#xff0c; 今天&#xff0c;我们正式发布明道云10.0版本。从这个版本开始&#xff0c;我们将产品名称正式命名为超级应用平台&#xff08;Hyper Application Platform, 简称HAP&#xff09;。我们用“超级”二字表达产品在综合能力方面的突破&#xff…

视频监控中的智能算法与计算机视觉技术

智能视频监控是一种基于人工智能技术的监控系统&#xff0c;它能够通过对图像和视频数据进行分析&#xff0c;自动识别目标物体、判断其行为以及进行异常检测等功能&#xff0c;从而实现对场景的智能化监管。以下是常见的一些用于智能视频监控的算法&#xff1a; 1、人脸识别技…