当前位置: 首页 > news >正文

Python爬虫——请求库安装

目录

  • 1.打开Anaconda Prompt 创建环境
  • 2.安装resuests
  • 3.验证是否安装成功
  • 4.安装Selenium
  • 5.安装ChromeDriver
    • 5.1获取chrom的版本
      • 5.1.1点击浏览器右上三个点
      • 5.1.2点击设置
      • 5.1.3下拉菜单,点击最后关于Chrome,获得其版本
    • 5.2 打开网址 [chromedriver](https://googlechromelabs.github.io/chrome-for-testing/)
    • 5.3解压下载的压缩包,将可执行文件移动到chrome浏览器安装位置
    • 5.4配置环境变量
      • 5.4.1准备工作
      • 5.4.2*名字起个chromedriver,变量值复制前面chrome的路径即可,然后点击确定即可*
    • 5.5将chromedriver.exe放在anaconda安装路径下的Scripts的目录下如下:
    • 5.6验证chromedriver是否安装成功
  • 6.安装PhantomJS
    • 6.1去官网选择相应的版本下载
    • 6.2配置环境变量
    • 6.3测试是否配置成功
  • 7.安装aiohttp
    • 7.1安装
    • 7.2验证

注:该系列教程已经默认用户安装了Pycharm和Anaconda,未安装的可以参考我之前的博客有将如何安装。同时默认用户掌握了Python基础语法。

爬虫可以简单分为几步:1.抓取页,2.分析页面,3.存储数据
在抓取页面的过程中 ,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现HTTP 请求操作,因此我们先介绍怎么安装这些请求库。

1.打开Anaconda Prompt 创建环境

打开Anaconda Prompt (anaconda),新建一个虚拟环境。不太会的可以先参考我这篇博客Pycharm+Anaconda+yolov5-5.0部署(手把手教+解决一些运行过程中的问题+最全部署yolov5,和Windows配置深度学习环境:安装Pytorch(自动安装cudn和cudnn+图文+快速+很简单)几分钟搞定这两篇博文,里面说的很清楚,大家只需要看前面部分即可。

#1.创建虚拟环境(spider是自己起的名字,大家随机即可)
conda create -n spider python
#2.激活虚拟环境spider
conda activate spider
#3.输入python测试py环境
python
#4.退出
exit()

1.创建虚拟环境显示
在这里插入图片描述
2.激活虚拟环境显示
在这里插入图片描述
3.测试py环境显示+退出
在这里插入图片描述

2.安装resuests

安装的方法很多,我在这就拿最简单的演示。

#1.输入代码
conda install requests
#2.如何输入y等待即可

在这里插入图片描述

3.验证是否安装成功

#1.输入代码
python
#2.输入
import requests
# 若没有报错证明安装成功,结果如下显示

在这里插入图片描述

4.安装Selenium

Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。

#和requests一样的安装方法
conda install selenium
#安装完成以后同样的验证方法,结果如下:

在这里插入图片描述

5.安装ChromeDriver

想必大家都有Chrome浏览器吧(嘿嘿嘿)。
没安装的可以自己安装方法很多,在此不再赘述!

接下来介绍如何安装ChromeDriver,因为只有安装这个,才能驱动Chrome浏览器进行相应的操作,其他浏览器同理。

#1.先打开自己的Chrome浏览器查看查看版本
#2.点击 hrome 菜单“帮助”→“关于 Google Chrome”,即可查看 Chrome 的版本号

5.1获取chrom的版本

5.1.1点击浏览器右上三个点

如下图:
在这里插入图片描述

5.1.2点击设置

在这里插入图片描述

5.1.3下拉菜单,点击最后关于Chrome,获得其版本

在这里插入图片描述

版本是121.0

5.2 打开网址 chromedriver

在这里插入图片描述

由于未更新到最高版本,选择第一个即可,点击stable。

查看自己的电脑版本win+R ,输入msinfo32,查看自己电脑架构,如何下载相应的文件即可。
在这里插入图片描述

点击相应的版本下载

在这里插入图片描述
在这里插入图片描述

5.3解压下载的压缩包,将可执行文件移动到chrome浏览器安装位置

在这里插入图片描述
chrome安装位置,可以通过点击chrome ,如何右键选择打开文件位置即可找到。
在这里插入图片描述

5.4配置环境变量

按下win键→搜索框输入:高级系统设置+回车→环境变量→用户变量→Path→编辑→新建,将上面的浏览器安装目录进行复制粘贴,然后不要忘记后续全部点击确定

5.4.1准备工作

在这里插入图片描述
在这里插入图片描述

5.4.2名字起个chromedriver,变量值复制前面chrome的路径即可,然后点击确定即可

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后一路确定即可!

5.5将chromedriver.exe放在anaconda安装路径下的Scripts的目录下如下:

在这里插入图片描述
在这里插入图片描述

5.6验证chromedriver是否安装成功

#输入如下代码:
python
from selenium.webdriver import Chrome
web = Chrome()
web.get("http://www.baidu.com")

出现下述结果,则说明配置成功!!
在这里插入图片描述

拓展:对于其它浏览器的驱动,同样的方法,自己配置即可。

6.安装PhantomJS

        PhantomJS 是一个无界面 、可脚本编程的 WebKit 浏览器引擎,它支持多 Web 标准 DOM操作、 ss 选择器、 JSON Canvas 以及 SVG。
        Selenium 支持 PhantomJS ,这样在运行的时候就不会再弹出浏览器了,而且 PhantomJS 的运行效率也很高,同时支持各种参数配置,使用很方便。

6.1去官网选择相应的版本下载

  1. 官方网站
    在这里插入图片描述
    2.解压下载的zip文件,将bin文件夹的路径添加到环境变量
    如下:
    在这里插入图片描述

复制下面路径

在这里插入图片描述

6.2配置环境变量

方法和前面一样
在这里插入图片描述
在这里插入图片描述

6.3测试是否配置成功

#第一种情况
#1.打开anaconda prompt激活环境
conda activate spider
#2.输入phantomjs
phantomjs
#若出现下述界面则正确#或者下面代码
#第二种情况
python
from selenium import webdriver 
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com') 
print(browser.current_url)

第一种情况:
在这里插入图片描述
第二种情况:
在这里插入图片描述

7.安装aiohttp

7.1安装

requests 库是一个阻塞式 HTTP 请求库,当我们发出一个请求后,程序会一直等待服器响应,直到得到响应后,程序才会进行下一步处理 其实,这个过程比较长,如果程序可以在这个等待过程中做一些其他的事情,如进行请求的调度 响应的处理等,那么效率可以大幅度提高。
aiohttp 就是这样一个提供异步 We 服务的库,使用异步请求库进行数据抓取时, 会大大提高效率。

#1.激活conda虚拟环境
conda activate spider
#2.安装aiohttp
conda install aiohttp

在这里插入图片描述

7.2验证

python
import aiohttp 
#如果没有错误报出,则证明库已经安装好了
#结果如下:

在这里插入图片描述

接下来会写解析库的安装。

相关文章:

Python爬虫——请求库安装

目录 1.打开Anaconda Prompt 创建环境2.安装resuests3.验证是否安装成功4.安装Selenium5.安装ChromeDriver5.1获取chrom的版本5.1.1点击浏览器右上三个点5.1.2点击设置5.1.3下拉菜单,点击最后关于Chrome,获得其版本 5.2 打开网址 [chromedriver](https:/…...

瑞芯微推理RKNN使用

参考资料 toolkit2 官网资料 野火实践指南 Ubuntu22.04实践 安装toolkit2 安装命令pip3 install -r xxx/packages/requirements_cp310-1.6.0.txt pip3 install xxx/packages/rknn_toolkit2-1.6.081f21f4d-cp310-cp310-linux_x86_64.whl注意加上 -i xxx 可能会造成下载tf-es…...

动漫风博客介绍页面源码

动漫风博客介绍页面源码,HTML源码,图片背景有淡入切换特效 蓝奏云:https://wfr.lanzout.com/iIDZu1nrmjve...

网络的基本概念和socket编程

网络的基本概念 1.协议1.1 协议的基本概念1.2 常见的协议 2.分层模型2.1网络七层OSI 7层模型:物数网传会表应(口诀)2.2TCP/IP模型2.3数据通信的过程2.4网络的设计模式2.5以太网帧的格式 3.SOCKET编程3.1网络字节序3.2 相关结构体和函数3.3 代码实现 1.协议 1.1 协议…...

探索C语言的内存魔法:动态内存管理解析

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 静态开辟内存 通过前面的学习,我们已经掌握了两种开辟内存的方…...

2023年全国职业院校技能大赛软件测试赛题第3套

2023年全国职业院校技能大赛 软件测试赛题第3套 赛项名称: 软件测试 英文名称: Software Testing 赛项编号: GZ034 归属产业: 电子与信息大类 …...

【数据分享】1929-2023年全球站点的逐日降水量数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,说到常用的降水数据,最详细的降水数据是具体到气象监测站点的降水数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全…...

SpringBoot WebSocket客户端与服务端一对一收发信息

依赖 <!--websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>配置类 Configuration public class WebSocketConfig {Bean //方法返回值交…...

MinGW/MSYS/GCC/GNU/MSVC/Clang/LLVM都是什么

MinGW&#xff08;Minimalist GNU for Windows&#xff09;&#xff1a; MinGW&#xff08;Minimalist GNU for Windows&#xff09;是一个用于Windows平台的开发工具集&#xff0c;它提供了一组用于编译和构建应用程序的工具和库。它的目标是在Windows环境下提供一个类Unix的…...

9.0 Zookeeper 节点特性

本章节介绍一下 zookeeper 的节点特性和简单使用场景&#xff0c;正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的 实例&#xff1a; $ ls / $ create /runoob 2 已存在 /runoob 节点&#xff0c;再次创建会提示已经存在。 …...

VUEX项目场景

VUEX项目场景 一、登录状态存储 登录页面代码 <template><div><input v-model"username" type"text" placeholder"Username"><input v-model"password" type"password" placeholder"Password&…...

vue+springboot前后端视频文件等的上传与展示(基于七牛云)

前言&#xff1a;在初步说明完成功能之前&#xff0c;我会把重要的部分说明下。后续我会细化。 vue视频文件上传 其实这里和图片这些文件就是一样的。因为上传只是把我们想在云端展示的文件按等传输到云端的bucket。然后方便网站去请求引用。 有人问我我就说明下。这种东西无…...

ClickHouse--02--安装

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 安装官网 &#xff1b;[https://clickhouse.com/docs/zh/getting-started/install](https://clickhouse.com/docs/zh/getting-started/install)![在这里插入图片描述…...

【学网攻】 第(23)节 -- PPP协议

系列文章目录 目录 系列文章目录 文章目录 前言 一、PPP协议是什么&#xff1f; 二、实验 1.引入 实验目的 实验背景你是某公司的网络管理员&#xff0c;现在需要与另一个公司进行通信,需要你配置PPP协议保证双方发送的人是真正的而非黑客 技术原理 实验步骤新建Pack…...

Rust方法自动解引用测试,总结和补充

// 定义一个结构体MyBox&#xff0c;包含一个原始指针 struct MyBox<T>(T);// 方法调用 . 操作&#xff0c;对方法的self 进行加& &mut * 还有 无大小转换 trait MyTrait {fn test0(mut self, x: &i32) where Self: Sized {println!("test0 :{}", …...

备战蓝桥杯---动态规划之经典背包问题

看题&#xff1a; 我们令f[i][j]为前i个物品放满容量为j的背包的最大价值。 f[i][j]max(f[i-1][j],f[i-1][j-c[i]]w[i]); 我们开始全副成负无穷。f[0][0]0;最后循环最后一行求max; 负无穷&#xff1a;0xc0c0c0c0;正无穷&#xff1a;0x3f3f3f3f 下面是v12,n6的图示&#xff…...

Go语言每日一练——链表篇(八)

传送门 牛客面试笔试必刷101题 ----------------两个链表的第一个公共结点 题目以及解析 题目 解题代码及解析 解析 这一道题使用的还是双指针算法&#xff0c;我们先求出两个链表的长度差n&#xff0c;然后定义快慢指针&#xff0c;让快指针先走n步&#xff0c;最后快慢指…...

跟着cherno手搓游戏引擎【23】项目维护、2D引擎之前的一些准备

项目维护&#xff1a; 修改文件结构&#xff1a; 头文件自己改改就好了 创建2DRendererLayer&#xff1a; Sandbox2D.h: #pragma once #include "YOTO.h" class Sandbox2D :public YOTO::Layer {public:Sandbox2D();virtual ~Sandbox2D() default;virtual void O…...

Redis(十三)缓存双写一致性策略

文章目录 概述示例 缓存双写一致性缓存按照操作来分&#xff0c;细分2种读写缓存&#xff1a;同步直写策略读写缓存&#xff1a;异步缓写策略双检加锁策略 数据库和缓存一致性更新策略先更新数据库&#xff0c;再更新缓存先更新缓存&#xff0c;再更新数据库先删除缓存&#xf…...

7 scala的类构造器

在创建对象的时候&#xff0c;需要调用类的构造器。Scala 提供了主构造器和辅助构造器。 1 主构造器 与 Java 一样&#xff0c;如果我们没有特别定义&#xff0c;那么 Scala 提供的默认构造器是没有参数的。 我们可以在类名后&#xff0c;指定构造器的参数列表&#xff0c;列…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...