小白+python+selenium库+图片爬取+反爬+资料超详细新手实现(01)webdriver环境配置+新手基础知识

Posted 白熊快跑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白+python+selenium库+图片爬取+反爬+资料超详细新手实现(01)webdriver环境配置+新手基础知识相关的知识,希望对你有一定的参考价值。

前言:

一个月前,博主在学过python(一年前)、会一点网络(能按F12)的情况下,凭着热血和兴趣,开始了python爬虫的学习。一路过来走了相当多弯路,但是前不久终于成功了!!!(泪目)

经过一个月的学习,博主我感觉CSDN上图片爬取教程确实详细且方法繁多,但大都偏公式化或者不够贴近小白。且本小白也亲身经历了整个从小白到爬虫初入门的过程,因此就斗胆在CSDN上开一个栏目,以我的python图片爬虫全实现过程为例,以期用更简单、清晰、详尽的方式来帮助更多小白应对更大多数的爬虫实际问题。

第一次写blog真的十分激动!!!希望大家多多鼓励点赞,过路大神多多指教,写得不对的地方请直接指出!!!

本栏目大致会分为4章(有空马上更)分别是:

  1. 环境配置+基础知识
  2. 获取图片地址+根据地址下载图片
  3. 翻页+反爬+完整代码
  4. 爬虫实战案例:爬取网站商品信息


正文:

博主本人用的是window10系统、python3.8(需要add to path)pycharm

老规矩先来一张的思维导图

所谓之所以要基于selenium库爬虫,是因为现在网页大部分由JavaScript语言所写,特点是动态加载网络元素,网络元素经过浏览器渲染才向用户显示(表现为在网页右键查看源码和按F12调出开发者工具看到的网络元素不尽相同),用requests库不能实现爬虫,而selenium库能模拟用户使用浏览器,能很好地处理绝大多数的网络爬虫。本文开始几个篇章以图片爬虫为例,后面附一个爬取京东iPhone价格、商品名称、评论、店铺信息的实例。

开始前,我想说看视频是最最快的学习方法,个人是在B站学到了requests库实战和selenium库实战(两个视频都是我看过那么多最详细最好的,链接【1】【2】我放在下面)。期间在网络基础和浏览器知识这一块也参考了紫书《python网络爬虫权威指南》,还有关于网络想要深入了解的同学可以看链接【3】。

新手警告:刚开始爬虫建议用IDLE!!!

新手警告:刚开始爬虫建议用IDLE!!!

新手警告:刚开始爬虫建议用IDLE!!!

(selenium库查找不到元素就会报错容易把心态搞崩,建议一步步在IDLE上执行,最后适当加上time.sleep()复制到pycharm)


一、环境

01浏览器环境

from selenium import webdriver
driver = webdriver.Chrome()#用谷歌浏览器
#driver = webdriver.Edge()#用Microsoft Edge
#driver = webdriver.PhantomJS()#用无头浏览器
  1. 用selenium库爬虫需要用到driver,也就是可供selenium库使用的浏览器.exe,调用的时候如上
  2. 下载对应浏览器可在CSDN查找就可,附带教程很详细(搜索:‘“selenium库webdriver+浏览器名称”)
  3. 所谓无头浏览器就是不显示界面的浏览器,但可以通过截图了解状态

注意:

  1. 下载webdriver时需选择和自己当前浏览器的版本一致
点开浏览器设置查看

     2. 下载后的浏览器.exe直接拖动到python所在地址。python所在地址可直接window键+R,再输入cmd调出命令行窗口输入“where python”就找到python路径了。

命令行窗口里python路径

 然后就可正常使用webdriver了。

02下载外部库

        也是在命令行窗口,先输入python看下python是否正常加到path

像这样是OK的

 然后先输入“quit()”退出python,再依次输入“pip install selenium”,“pip install requests”,如出现“...install successfully”不报错就是安装成功(warning不用管)、

注意:如果报错可以改成“pip3 install selenium”,“pip3 install requests”


二、基础知识

这里比较重要的是字符串操作和网页知识(主要是一些快捷键)

01字符串操作

主要用到的功能是截取相加(也就是拼接),以及format函数(可用于字符串拼接)和split函数(用于选取字符串内容),需要用的时候去CSDN查看即可。在爬取图片时一般用于修正图片地址和创建图片名称

02数组知识

主要用到选取元素和遍历

03通过requests库从图片地址下载图片

其实是一组模块,和创建文件模块一起使用(后面的bloc会说的)

04网页基础知识

重点说说网页基础知识,爬虫中很需要实时根据网页内容改变爬取方法。

  1. 首先需要的是开发者工具,有的同学可以直接按F12调出,有的需要手动按一按。我们需要点击右边的“元素”,然后在页面中选择一个元素右键点击“检查”,就可以找到对应的代码。
如图点击(Microsoft Edge为例)

右键检查,选择“元素”

     2.然后具体说说网页元素

  • 节点的名称有的叫div,有的叫a,有的叫img。
  • 我们所需的要素也有一个名称,有的叫class,有的叫id,有的叫src。
  • 这些节点里面的要素有一个(比如class=“”里面的东西),网页上所有的元素,都存放在这一个个值中。通过这些要素的值,我们可以寻找到特定的节点;也可以根据值的名称,在节点里获取这个值
  • 我们所需的图片地址,一般就是img节点的src要素的值(如下图)
如图找到了该图片的地址

注意:

  1. 在开发者工具中可按Ctrl+F查找需要的网页元素
  2. “元素”的左边按钮可把页面从电脑模式切换成手机模式,再左边按钮按动后划过网页元素会自动跳到对应代码

       


下一篇获取图片地址+根据地址下载图片是重头戏,喜欢的朋友请追更。

码字不易求点赞!

以上是关于小白+python+selenium库+图片爬取+反爬+资料超详细新手实现(01)webdriver环境配置+新手基础知识的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫:使用Selenium模拟浏览器行为

Python爬虫之爬取页面内容图片以及用selenium爬取

python selenium爬取kuku漫画

python爬取花瓣网任意面板图片

Python如何爬取百度图片?

python+selenium爬取关键字搜索google图片