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 
#如果没有错误报出,则证明库已经安装好了
#结果如下:

在这里插入图片描述

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

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

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

相关文章

树与二叉树---数据结构

树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点: 1)树的根结点没有前驱,除根结点外的所有结点有 且只有一个前驱。 2)树中所有结点可以有零个或多个后继。 树结点数据结构 满二叉树和完全二…

GPIO结构

GPIO简介 GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 输入模式下可读取端口的高低电平或电压&#x…

推荐系统|物品冷启动01_优化目标评价(包括基尼系数)

文章目录 物品冷启动冷启动的类型“新”按常规推送链路的角度按产品生态角度 物品冷启动的目标和评价指标作者侧用户侧 冷启动的衡量 物品冷启动 冷启动的类型 冷启动的内容种类包括很多方面,本文只介绍UGC的冷启动。 所谓UGC,就是User Generate Conte…

Flink cdc debug调试动态变更表结构

文章目录 前言调试流程1. 拉取代码本地打包2. 配置启动参数3. 日志配置4. 启动验证5. 断点验证 问题1. Cannot find factory with identifier "mysql" in the classpath.2.JsonFactory异常3. NoSuchMethodError异常其他 结尾 前言 接着上一篇Flink cdc3.0动态变更表…

tkinter-TinUI-xml实战(10)展示画廊

tkinter-TinUI-xml实战(10)展示画廊 引言声明文件结构核心代码主界面统一展示控件控件展示界面单一展示已有展示多类展示 最终效果在这里插入图片描述 ![](https://img-blog.csdnimg.cn/direct/286fcaa2fa5648a992a0ac79b4efad82.png) ………… 结语 引言…

【华为云】容灾方案两地三中心实践理论

应用上云之后,如何进行数据可靠性以及业务连续性的保障是非常关键的,通过华为云云上两地三中心方案了解相关方案认证地址:https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiXCBUCNXI057Self-paced/about当前内容为灾备常见理论…

C++:理解拷贝在变量,指针,引用以及构造函数里的意义

变量,指针,引用 //拷贝与拷贝构造函数 //拷贝(copy):拷贝数据,拷贝内存 //始终是在拷贝值,但是指针存储的是内存的地址,变量存储的是数据的值 //特别注意,在引用里面的拷…

Mysql Day04

mysql体系结构 连接层服务层引擎层(索引)存储层 存储引擎 存储引擎是基于表建立的,默认是innoDB show create table tb; 查看当前数据库支持的存储引擎 show engines; InnoDB 特点 DML(数据增删改)遵循ACID模…

【算法与数据结构】42、LeetCode接雨水

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:   程序如下: 复杂度分析: 时间复杂度: O ( ) O() O()。空间复…

Modelsim10.4安装

简介(了解,可跳过) modelsim是Mentor公司开发的优秀的HDL语言仿真软件。 它能提供友好的仿真环境,采用单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速…

AI-TestOps —— 软件测试工程师的一把利剑

写在前面软件测试的前世今生测试工具开始盛行AI-TestOps 云平台● AI-TestOps 功能模块● AI-TestOps 自动化测试流程 写在前面 最近偶然间看到一句话:“软件测试是整个 IT 行业中最差的岗位”。这顿时激起了我对软件测试领域的兴趣,虽然之前未涉及过软…

fast.ai 机器学习笔记(二)

机器学习 1:第 5 课 原文:medium.com/hiromi_suenaga/machine-learning-1-lesson-5-df45f0c99618 译者:飞龙 协议:CC BY-NC-SA 4.0 来自机器学习课程的个人笔记。随着我继续复习课程以“真正”理解它,这些笔记将继续更…

ASUS华硕灵耀X双屏UX8402V工厂模式原厂Win11.22H2系统安装包,含WinRE恢复出厂时开箱状态自带预装OEM系统

适用型号:UX8402VV、UX8402VU 链接:https://pan.baidu.com/s/1D7tJshKTNFYO4YyzKX0ppQ?pwd3saf 提取码:3saf Zenbook Pro灵耀X笔记本电脑原装出厂Windows11系统 带有ASUS RECOVERY恢复功能、自带面部识别,声卡,网…

【RabbitMQ(二)】:Exchange 详解 | Message Convert 消息转换器

文章目录 03. 使用 Java 代码去操控 RabbitMQ3.1 快速入门3.1.1 创建父子项目3.1.2 编写代码 3.2 Work 模型3.3 RabbitMQ 中的三类交换机3.3.1 Fanout 扇出交换机3.3.2 Direct 交换机3.3.3 Topic 交换机 3.4 声明队列交换机3.4.1 方式一:书写 Config 类3.4.2 方式二…

webgis后端安卓系统部署攻略

目录 前言 一、将后端项目编译ARM64 二、安卓手机安装termux 1.更换为国内源 2.安装ssh远程访问 3.安装文件远程访问 三、安装postgis数据库 1.安装数据库 2.数据库配置 3.数据导入 四、后端项目部署 五、自启动设置 总结 前言 因为之前一直做的H5APP开发&#xf…

LLM之RAG实战(二十五)| 使用LlamaIndex和BM25重排序实践

本文,我们将研究高级RAG方法的中的重排序优化方法以及其与普通RAG相比的关键差异。 一、什么是RAG? 检索增强生成(RAG)是一种复杂的自然语言处理方法,它包括两个不同的步骤:信息检索和生成语言建模。这种方…

爬虫2—用爬虫爬取壁纸(想爬多少张爬多少张)

先看效果图: 我这个是爬了三页的壁纸60张。 上代码了。 import requests import re import os from bs4 import BeautifulSoupcount0 img_path "./壁纸图片/"#指定保存地址 if not os.path.exists(img_path):os.mkdir(img_path) headers{ "User-Ag…

【九章斩题录】Leetcode:判定是否互为字符重排(C/C++)

面试题 01.02. 判定是否互为字符重排 ✅ 模板:C class Solution { public:bool CheckPermutation(string s1, string s2) {} }; 「 法一 」排序 💡 思路:看到题目中说 "重新排列后能否变成另一个字符串",等等……重新…

如何升级 gpt4?快速升级至ChatGPT Plus指南,爆火的“ChatGPT”到底是什么?

提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来,就受到国内外狂热的追捧和青睐,上线2个月,月活突破1个亿!!! 而且还在持续上涨中。因为有很多人都在使用 ChatGPT 。无论是各大头条、抖音等 App、…

UUID算法:独一无二的标识符解决方案

引言 在分布式系统和大数据环境下,唯一标识符的生成和管理是一项关键任务。UUID(Universally Unique Identifier)算法应运而生,成为了解决重复数据和标识符冲突的有效工具。本文将探讨UUID算法的优势和劣势,分析其在分…