大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.csdn.net/。

PS:由于现在越来越多的人未经本人同意直接爬取博主本人文章,博主在此特别声明:未经本人允许,禁止转载!!!

目录

  • 推荐
  • 一、小小课堂
  • 二、selenium+driver初步尝试控制浏览器
  • 三、完整代码
  • 四、运行结果


推荐


  ♥各位如果想要交流的话,可以加下QQ交流群:974178910,里面有各种你想要的学习资料。♥

  ♥欢迎大家关注公众号【不温卜火】,关注公众号即可以提前阅读又可以获取各种干货哦,同时公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍1份哟~♥

一、小小课堂


由于只是属于教学性质,学长本人在此以就以爬取Python相关的图书为例!

链接:https://search.douban.com/book/subject_search?search_text=python&cat=1001


首先我们需要先找下有没有接口

但是通过查看,我们发现是没有接口的。经过分析,这个网站展示的数据,不能通过之前的方式获取,猜想是通过加密解密得到的内容。这个时候有两种方式
a:找到加密解密的接口,使用python模拟(相当复杂,必须有解析js的能力)
b:使用selenium+driver直接获取解析后的页面数据内容(这种相对简单)

当然了,我们只是分析了接口这一部分,其实我们通过查看网页源码,使用xpath进行尝试解析,发现其实是可行的,但是由于本篇博文使用的是自动化工具selenium,所以就不过多解释xpath。

在这里,我们使用selenium+driver能模拟浏览器找到elements里的内容,这样再提取就没问题了。


接下来我们需要了解一些概念

  • 1.什么是selenium?
    selenium是网页自动化测试工具,可以自动化的操作浏览器。如果需要操作哪个浏览器需要安装对应的driver,比如你需要通过selenium操作chrome,那必须安装chromedriver,而且版本与chrome保持一致。

  • 2、driver
    操作浏览器的驱动,分为有界面和无界面的
    有界面:与本地安装好的浏览器一致的driver(用户可以直接观看,交互比如单击、输入)
    无界面:phantomjs(看不到,只能通过代码操作,加载速度比有界面的要快)

了解完之后,安装selenium:

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

下载driver:

  • 1. phantomjs
    phantomjs下载网址https://phantomjs.org/download.html
  • 2. chrome谷歌浏览器对应的driver
    http://npm.taobao.org/mirrors/chromedriver/

下载好之后,放入项目中,方便找到。

二、selenium+driver初步尝试控制浏览器


说到模拟,那我们就先来模拟如何打开豆瓣图书并打开Python相关的图书

from selenium import webdriver
import time
import requestsstart_url = "https://book.douban.com/subject_search?search_text=python&cat=1001&start=%25s0"# 控制chrome浏览器
driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
# 输入网址
driver.get(start_url)# 停一下,等待数据加载完毕
time.sleep(2)
# 获取网页内容Elements
content = driver.page_source
# 结束
driver.quit()


爬虫入门经典(十四) | 使用selenium尝试爬取豆瓣图书相关推荐

  1. 利用selenium尝试爬取豆瓣图书

    目录 一.小小课堂 二.selenium+driver初步尝试控制浏览器 三.完整代码 四.运行结果 链接:https://search.douban.com/book/subject_search? ...

  2. 扇贝python_Python爬虫入门经典 | 简单一文教你如何爬取扇贝单词

    现在的博主正在发呆,无意之中打开了扇贝Python必背词汇的网址.那么既然打开了,再加上博主挺无聊的.那么就尝试爬取一下这个网页! 一.网页分析 我们打开此网站之后,通过以往爬取网页的经验,会发现此网 ...

  3. 爬虫入门经典(十三) | 一文教你简单爬取腾讯招聘

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  4. 爬虫入门经典(十一) | 一文带你爬取传统古诗词(超级简单!)

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  5. 爬虫入门实战第一站——梨视频视频爬取

    爬虫入门实战第一站--梨视频视频爬取 简介 博主最近重新开始了解爬虫,想以文字方式记录自己学习和操作的过程.本篇文章主要是使用爬虫爬取梨视频网站中的视频并下载到本地,同时将视频简介和视频网站保存在ex ...

  6. requests 获取div_爬虫系列第五篇 使用requests与BeautifulSoup爬取豆瓣图书Top250

    上一篇我们学习了BeautifulSoup的基本用法,本节我们使用它来爬取豆瓣图书Top250. 一.网页分析 我们爬取的网页的url是https://book.douban.com/top250?i ...

  7. python爬虫爬取豆瓣图书

    爬取豆瓣图书top250的第一页 我最终爬取的是图书的书名,链接 先要做个说明,如果你是编程高手的话,这边文章你就不用看了,如果你是个python爬虫小白的话,可以看看这篇原创 我将用到的软件是pyc ...

  8. 爬取豆瓣图书排行榜前十并使用图表的形式展示

    爬取豆瓣图书 最近在学习爬虫的基础使用,发现最好爬的网站就是豆瓣了,随随便便都是可以爬到数据. 下面就是使用Python中间的requests模块实现豆瓣图书排行榜的爬取: import reques ...

  9. [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...

最新文章

  1. iOS引入第三发库引发的错误linker command failed with exit code 1
  2. java tm 插件_VS Code 中有哪些好用的 Java 插件?
  3. VTK:Utilities之CheckVTKVersion
  4. matlab拟合四次函数表达式,用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图...
  5. 多目标进化优化(MOEA)方法
  6. 2021年11月Python小屋编程比赛获奖名单
  7. JQuery快速学一(强悍的选择器)
  8. 基于SVM的时间序列预测-python实现(附源码)
  9. 都柏林理工学院计算机,入爱尔兰都柏林理工大学,硕博连读全免费
  10. 免费分享一套狂雨小说cms采集规则
  11. 最小生成树详细讲解(Prime算法+Kruskalsuanfa)
  12. 如何从0到开始写短视频剧本,轻轻松松获得百万点赞
  13. Hive开启WebUI
  14. Git-版本控制-创建远程仓库
  15. java毕业设计web高校车辆调度系统设计与实现源码+系统+数据库+lw文档+调试运行
  16. 使用checkstyle对android代码进行格式检查和格式化(google格式)
  17. 国际会计准则IFRS9的基本逻辑
  18. 男生除了干计算机软件还有什么职业,理想男朋友职业都有哪些?前10名竟然是……...
  19. h5页面跳转微信小程序。
  20. 【软考系统架构设计师】2021年下半年系统架构设计师考后心得

热门文章

  1. errmsg:config:invalid signat
  2. javplayer手机版怎么用_JavPlayerTrial
  3. mysql helper c_自用类库整理之SqlHelper和MySqlHelper
  4. 前端react项目如何部署到nginx
  5. WebApp开发框架①
  6. unity简单的背包系统笔记(有视频讲解)
  7. 互联网应用基础第二课:计算机软件和网络应用、Windows系统快捷操作、了解互联网
  8. 彰显年轻时尚,展现青春魅力------中兴青漾2体验分享
  9. 怎样区分汽车脚垫和汽车地胶?
  10. 网络日志管理_企业网络日志对具体对网络安全维护有哪些帮助?