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 BeautifulSoup
 
url = '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 requests

pip install beautifulsoup4

运行你的爬虫

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

python3 main.py

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nodejs微信小程序+python+PHP-书吧租阅管理系统的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

Navicat 技术指引 | GaussDB 数据查看器

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

前端vue导出PPT,使用pptxgen.js

前言 公司新需求需要导出ppt给业务用&#xff0c;查阅资料后发现也挺简单的&#xff0c;记录一下。 如有不懂的可以留言&#xff01;&#xff01;&#xff01; 1.安装包 npm install pptxgenjs --save2.引入包 在需要使用的文件中引入 import Pptxgenfrom "pptxgenjs&…

对未来新能源车测试工具的看法

汽车行业正在经历变革的说法算是比较轻描淡写的了&#xff0c;还记得我1983年加入这个行业时&#xff0c;行业聚焦点是引入发动机管理系统。当时还是以家庭掀背车为主的时代&#xff0c;发动机分析仪的体积像衣柜一样大&#xff0c;还没出现“CAN”通信协议。现在经常听到我的导…

为什么选择美国VPS服务器

企业、个人和组织都需要一个稳定高效的服务器来托管他们的网站、应用程序和数据。而对于中国用户来说&#xff0c;寻找一个性价比高的便宜美国VPS服务器&#xff0c;既能满足需求&#xff0c;又能节约成本&#xff0c;成为了一个非常重要的问题。 VPS即虚拟专用服务器&#xf…

SuperMap iDesktopX如何获取简单线的起终端点及坐标

作者&#xff1a;超图研究院技术支持中心-于丁 SuperMap iDesktopX如何获取简单线的起终端点及坐标 在GIS行业应用中&#xff0c;线数据的端点坐标有非常多的用处。 定位和可视化&#xff1a;线数据端点坐标可以用于定位和可视化线要素在空间中的位置。这对于地图制作、规划和…

[PyTorch][chapter 64][强化学习-DQN]

前言&#xff1a; DQN 就是结合了深度学习和强化学习的一种算法&#xff0c;最初是 DeepMind 在 NIPS 2013年提出&#xff0c;它的核心利润包括马尔科夫决策链以及贝尔曼公式。 Q-learning的核心在于Q表格&#xff0c;通过建立Q表格来为行动提供指引&#xff0c;但这适用于状态…

nvm安装及使用

文章目录 一、[介绍](https://github.com/nvm-sh/nvm)1.1、卸载node1.1.1、从控制面板的程序卸载node1.1.2、删除node的安装目录1.1.3、查找.npmrc文件删除1.1.4、逐一删除下列文件1.1.5、删除node环境变量1.1.6、验证是否卸载成功 二、安装2.1、window系统2.2、mac系统2.2.1、…

php高级工程师范文模板

以下简历内容以php高级工程师招聘需求为背景&#xff0c;我们制作了1份全面、专业且具有参考价值的简历案例&#xff0c;大家可以灵活借鉴&#xff0c;希望能帮助大家在众多候选人中脱颖而出。 php高级工程师简历在线制作下载&#xff1a;百度幻主简历 求职意向 求职类型&…

vue+springboot读取git的markdown文件并展示

前言 最近&#xff0c;在研究一个如何将我们git项目的MARKDOWN文档获取到&#xff0c;并且可以展示到界面通过检索查到&#xff0c;于是经过几天的摸索&#xff0c;成功的研究了出来 本次前端vue使用的是Markdown-it Markdown-it 是一个用于解析和渲染 Markdown 标记语言的 …

Vue 2.0源码分析-Virtual DOM

Virtual DOM 这个概念相信大部分人都不会陌生&#xff0c;它产生的前提是浏览器中的 DOM 是很“昂贵"的&#xff0c;为了更直观的感受&#xff0c;我们可以简单的把一个简单的 div 元素的属性都打印出来&#xff0c;如图所示&#xff1a; 可以看到&#xff0c;真正的 DOM …

C语言-指针讲解(3)

文章目录 1.字符指针变量1.1 字符指针变量类型是什么1.2字符指针变量的两种使用方法&#xff1a;1.3字符指针笔试题讲解1.3.1 代码解剖 2.数组指针变量2.1 什么是数组指针2.2 数组指针变量是什么&#xff1f;2.2.3 数组指针变量的举例 2.3数组指针和指针数组的区别是什么&#…

javascript判断是否是json格式

文章目录 一、问题二、解决三、总结3.1、定义 一、问题 工作中有用到JSON.parse这个来解析JSON字符串&#xff0c;这个时候突然有一次遇到JSON字符串是长串数字或数字字符串&#xff0c;主要是自己也没兼容好&#xff0c;就导致了一长串数字JSON.parse之后变成了e24等数字。主…

中低压MOSFET 2N7002W 60V 300mA 双N通道 SOT-323封装

2N7002W小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-323封装形式。超高密度电池设计&#xff0c;适用于极低的ros (on)&#xff0c;具有导通电阻和最大直流电流能力&#xff0c;ESD保护。可应用于笔记本中的电源管理&#xff0c;电池供电系统等产品应…

Selenium实现多页面切换

当使用 Selenium 进行自动化测试或爬取数据时&#xff0c;有时需要处理多个页面之间的切换。以下是一些可能需要多页面切换的情况&#xff1a; 1、打开新窗口/页面&#xff1a; 在当前页面上点击链接、按钮或执行某些操作时&#xff0c;可能会打开一个新的窗口或页面。此时&a…

Appium+Python+pytest自动化测试框架的实战

本文主要介绍了AppiumPythonpytest自动化测试框架的实战&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下 先简单介绍一下目录&#xff0c;再贴一些代码&#xff0c;代码里有注释 Basic目录下写的是一些公…

【C++】泛型编程 ⑮ ( 类模板示例 - 数组类模板 | 自定义类中持有指针成员变量 )

文章目录 一、支持 数组类模板 存储的 自定义类1、可拷贝和可打印的自定义类2、改进方向3、改进方向 - 构造函数4、改进方向 - 析构函数5、改进方向 - 重载左移运算符6、改进方向 - 重载拷贝构造函数 和 等号运算符 二、代码示例1、Array.h 头文件2、Array.cpp 代码文件3、Test…

io.lettuce.core.RedisCommandExecutionException

io.lettuce.core.RedisCommandExecutionException: ERR invalid password ERR invalid password-CSDN博客 io.lettuce.core.RedisCommandExecutionException /** Copyright 2011-2022 the original author or authors.** Licensed under the Apache License, Version 2.0 (the…

RabbitMQ基础教程

1.什么是消息队列 消息队列&#xff08;Message Queue&#xff09;&#xff0c;我们一般简称为MQ。消息队列中间件是分布式系统中重要的组件&#xff0c;具有异步性、松耦合、分布式、可靠性等特点。用于实现高性能、高可用、可伸缩和最终一致性架构。是大型分布式系统不可缺少…

JVM类加载的过程和JVM垃圾回收机制

文章目录 一、JVM类加载的过程1.1类加载的基本流程1.1.1加载1.1.2验证1.1.3准备1.1.4解析1.1.5初始化 1.2双亲委派模型 二、JVM垃圾回收机制2.1找到垃圾2.1.1引用计数(比如Python&#xff0c;PHP中用到)2.1.2可达性分析(比如Java中用到) 2.2释放垃圾2.2.1标记清除2.2.2复制算法…