(一)如何让selenium爬我们需要的东西

(一)如何让selenium爬我们需要的东西

前言

本博客会以艺龙旅游网为对象,进行selenium的学习

由于区区在下在学校参加了一个名为创新创业工作室的地方,所以今天老师召集我们给我们开了个会,让我们对他们的网站做补充,缺少资料。(因为他不会做爬虫对某种信息进行实时性爬取,我怀疑网站也是别人给他做的)
无奈

所以有些体力活需要我们去做:手动将数据从某网站下载,然后通过某网站对坐标进行处理,然后进入网站后台将数据存储(手动一个一个打)。
哭了

但是我通过对网站进行分析,发现如果单纯使用requests话,就只能爬取一页的数据,不能翻页(因为翻页url是不变的),所以我就想到了selenium,但是我又不会用,那就一起来学习一下吧。
哈哈

确定目标:http://www.elong.com/
目的:爬取艺龙网中南阳市唐河县的酒店信息,包括:名字,电话,标间价格,地址,介绍,图片
在这里插入图片描述

selenium在python中的使用

1.了解selenium

Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safar等浏览器(需要下载驱动),之前是用来做测试网站的,后来发现也可以用来爬取数据(估计开发者都没想到他开发的selenium被别人广泛适用于爬虫领域——笑)。

2.selenium的下载

  1. 我这里是使用的Chrom浏览器 !注意不要忽视这个地方

  2. python中selenium库的下载(pycharm系列)

    由于我用的pycharm的虚拟环境,所以我只需要在pycharm的终端下载第三方库就行了,简单,方便,pycharm真是个好用的东西——O(∩_∩)O~

    1. 打开pycharm
    2. 打开pycharm的终端
    3. 输入pip install selenium -i https://pypi.doubanio.com/simple (这是使用国内镜像网站下载selenium,下载速度较快)
    4. 等待片刻,结束
    5. pip list ——查看自己下载的第三方库,检查是否成功
  3. python中selenium库的下载(cmd系列)

    1. win+R输入cmd
    2. 打开cmd
    3. 输入pip install selenium -i https://pypi.doubanio.com/simple (这是使用国内镜像网站下载selenium,下载速度较快)
    4. 等待片刻,结束
    5. pip list ——查看自己下载的第三方库,检查是否成功
  4. selenium驱动的下载(这里我直接给云盘链接,官网都是英文,看不懂)

    1. 打开你的Chrom浏览器查看你是什么版本的(帮助->about chrom),查看版本号
    2. 点击右边这个蓝色的小可爱,没错我是小可爱 ,找到与你的chrom浏览器版本相匹配的(没有匹配的,相近的也可以,win都是32位的),下载
    3. 没了,没错,你没看错,真的没了
  5. selenium的环境配置,没错又是这个烦人的环境配置 真想给他一脚

    1. 想必,这个时候已经下载好了吧
    2. 下载好以后,很简单,解压,然后——看3
    3. 最好(但是不是必要)创建一个文件夹放你解压出来的geckodriver,然后复制你这个文件当前的路径(ctrl + c)
    4. 打开环境变量(此电脑->右键->属性->高级系统配置->环境变量),在系统变量找到path,新建,ctrl + v
    5. 完事
  6. 打开你的pycharm,新建一个py文件去写出以下代码

from selenium import webdriver
import time
# 导入时间包和selenium包
huohu = webdriver.Chrome()
# 创建一个chome的selenium对象
huohu.get("http://www.elong.com/")
# 打开网站
huohu.quit()
# 退出

写好后,运行
好,报错了,对,报错了,可能你们不会报错,反正我报错了

报错信息是:selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.

意思是,你需要吧chromdriver放到路径,我照着做了,可是呢,还是这个报错!

在这里插入图片描述

这是什么情况??明明我是按照教程来的啊

着急的我去群里请求大佬,大佬们直接无视我——::>_<::

然后又去找它——>CSDN,左翻翻,右找找,终于找到了解决方案:

将chromdriver放在python解释器的位置,我照着做了之后,就成功了。。。

好家伙,上面教程不是说随便放的吗?…

哎,人与人之间最基本的信任都没有了

(一)如何让selenium爬我们需要的东西

3. selenium的基本使用

from selenium import webdriver
# 导包
driver = webdriver.Chrome()
# 创建一个浏览器对象
driver.get("https://m.elong.com/")
# 访问艺龙网
driver.quit()
# 关闭浏览器,也可以不关闭,但是最好关闭,养成一个打开后不忘记关闭的好习惯

然后我们就会发现,浏览器界面一闪而过(为什么?因为页面渲染完成后,就直接退出了),那么如何才能让我们能够观察到呢?有请我们的time模块,让它睡会儿,就能观察到了
这样改

from selenium import webdriver
import time
# 导包
driver = webdriver.Chrome()
driver.get("https://m.elong.com/")
time.sleep(5)
# 页面渲染完成后让它睡5s,这样就能观察到了
driver.quit()

OK,看到,代码替我们打开了这个网址,并且展示了5s后关闭了

结语

好了,相信大家已经学会如何使用筷子了,那么让我们去动用我们的筷子去把这个网站抓下来吧——笑,玩个老梗
今天的笔记就到这里了(主要是不想写了,一天当然不可能只学会点这玩意),拜拜

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100266.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 二分查找法

    序言引在正式的聊二分法之前,我们先来看一下下面的小例子:l.index(66)…我们之所以用index方法可以找到,是因为python帮我们实现了查找方法。如果,index方法不给你用了。。

  • Java截取字符串的常见方法「建议收藏」

    Java截取字符串的常见方法「建议收藏」转自:https://blog.csdn.net/zjx2016/article/details/74557301在项目中经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。方法一:通过split()将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。Stringstr="53285964@qq.co…

  • 目标检测—利用labelimg制作自己的深度学习目标检测数据集

    目标检测—利用labelimg制作自己的深度学习目标检测数据集看了网上的xml转txt的博客很多上来就给代码,关于怎么用都不说,有的也用不了,所以这里自己写了一份代码

  • 基于51单片机步进电机控制[通俗易懂]

    基于51单片机步进电机控制[通俗易懂]实现功能:1、用矩阵键盘设定电机目标转速及旋转方向,范围100~300转/分;2、测量、显示电机实际转速和方向(正转显示“P”,反转显示“N”);从实现功能上分析,软件可以分解3个功能模块:1,步进电机控制模块2,矩阵键盘输入模块3,显示输出模块步进电机工作原理步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速…

  • (深度学习)Pytorch之dropout训练

    (深度学习)Pytorch之dropout训练(深度学习)Pytorch学习笔记之dropout训练Dropout训练实现快速通道:点我直接看代码实现Dropout训练简介在深度学习中,dropout训练时我们常常会用到的一个方法——通过使用它,我们可以可以避免过拟合,并增强模型的泛化能力。通过下图可以看出,dropout训练训练阶段所有模型共享参数,测试阶段直接组装成一个整体的大网络:那么,我们在深度学习的有力工具——Pytor…

  • 怎样把文件保存在回收站而不丢失

    怎样把文件保存在回收站而不丢失

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号