当前位置: 首页 > 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;列…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...