我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识一下:爬取豆瓣读书页面,Python用16行代码就搞定了!

python+selenium这个很神奇的组合,或许你还不知道selenium是什么,不过没关系,我先给你百度一下:

Selenium (浏览器自动化测试框架):

Selenium 是一个用于Web应用程序测试的工具。

Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

原谅我是一个没怎么见过世面的程序员,当我看到代码运行之后电脑自动打开浏览器那一刻觉得简直不要太酷!所以我必须要写一篇文来和大家一起分享一些喜悦的心情。

首先我们先确定好要爬取的目标网页:

豆瓣读书下一个标签为小说的页面:

敲黑板!干货来了同志们!下面我将带领着大家用16行代码实现我们的这个爬虫。仅仅需要16行代码,看了不吃亏,看了不上当!

先来解析一下我们想要爬取的目标网页的结构:

先找到包含所有图书内容的标签——一个类名为content的div盒子.

再找包含每一本书内容的标签——li.

虽然我们发现了每一本书的内容都包含在li标签下,但是还没有找到包含具体文本信息的标签,所以还要继续找。

找到了,就是它:可爱的类名为“info”的div盒子!

分析好网页结构之后,现在我们就可以开始动手写代码啦。前方高能!

源代码如下:

#coding:utf-8from selenium import webdriverclass DouBan:

def __init__(self):

self.dr = webdriver.Chrome() #指定selenium进行自动化操作时选用谷歌浏览器

self.dr.get('https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4/') #要打开的网页

def print_content(self):

total_book = self.dr.find_element_by_id('wrapper') #先定位到包含所有图书的div盒子中

books = total_book.find_elements_by_class_name('info') #找到已经定位到的div盒子里的每一个包含图书介绍的子div

i = 1

for book in books: #通过for循环依次把每一本图书的内容取出来

print (str(i)+ book.text + '

') #将爬取到的内容打印

i += 1

def quit(self):

self.dr.quit() #爬取数据完成后关闭浏览器

DouBan().print_content()

大家有没有看到,代码运行之后电脑自己打开了浏览器进入我们的目标页面,然后爬取完我们想要的数据之后又自己关闭了浏览器,很神奇有没有!超酷有没有!

怎么样,是不是觉得超级简单易懂?那还不赶紧pip install selenium 来自己试一试!

如果您在python学习的过程中遇到难题,欢迎关注微信公众号【咕哒编程】,大家一起交流解决!

python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面!相关推荐

  1. python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面

    点击蓝字"python教程"关注我们哟! 我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识 ...

  2. unity游戏,隐私协议最简单解决方案!仅3行代码就搞定!(转载)

    起因 最近各个平台的隐私协议,监管越来越严,游戏需要明确自己的隐私协议是做啥的,需要在所有sdk没有启动前,就向用户展示隐私协议. 由于我是使用unity开发,所以自己找了一个方法,去做到这个隐私协议 ...

  3. python爬虫——三步爬得电影天堂电影下载链接,30多行代码即可搞定:

    python爬虫--三步爬得电影天堂电影下载链接,30多行代码即可搞定: 本次我们选择的爬虫对象是:https://www.dy2018.com/index.html 具体的三个步骤:1.定位到202 ...

  4. 精选10个Python库,几行代码轻松搞定探索性数据分析!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一.在拿到一个 ...

  5. Python爬虫:想听榜单歌曲?使用BeautifulSoup库只需要14行代码即可搞定

    目录 BeautifulSoup库 安装BeautifulSoup库 BeautifulSoup库简介 选择解释器 基础用法 节点选择器 获取节点名称属性内容 获取所有子节点 获取所有子孙节点 父节点 ...

  6. python装饰器特性iy雾_Python高级特性: 12步轻松搞定Python装饰器

    没法让装饰器变得简单,但是通过一步步的剖析,能够让你在理解装饰器的时候更自信一点.因为装饰器很复杂 1.函数 在python中,函数通过def关键字.函数名和可选的参数列表定义.通过return关键字 ...

  7. html自动给图片加上水印 代码_如何给一千张图片去水印?还好我会python,100行代码轻松搞定...

    写在前面 近期好多网友私信我,问我编程该怎么学习.怎么入门.我觉得编程学习,就像写文章一样,需要积累. 如果把代码每个字符拆开,大伙都认识,但是组合在一起,就是另外一回事了.所以我的建议是,学习编程, ...

  8. 原来写刮刮卡这么简单,几行代码就搞定,你来你也行,谢谢惠顾!

    利用属性属性 globalCompositeOperation,设置值为 destination-out,后绘制的图形会擦除与先绘制图形重叠的部分 效果图: 思路 1.写一个div,div的内容就是刮 ...

  9. python爬虫代码1000行-Python爬虫教程(16行代码爬百度)

    最近在学习python,不过有一个正则表达式一直搞不懂,自己直接使用最笨的方法写出了一个百度爬虫,只有短短16行代码. 首先安装必背包: pip3 install bs4 pip3 install r ...

最新文章

  1. 转 docker的下载与安装
  2. 数据结构-深度优先遍历和广度优先遍历(漫画)
  3. Daily Scrum02 12.09
  4. BZOJ 3514 Codechef MARCH14 GERALD07加强版
  5. ios微信下vue项目组件切换并自动播放音频的解决方案
  6. 数据预处理第2讲:非线性变换
  7. GridView“GridView1”激发了未处理的事件“PageIndexChanging”
  8. oracle alter命令大全
  9. LFW database
  10. Java常用类(四):IOUtils类
  11. ccs8烧写与擦除dsp2812FLASH的方法
  12. I Sold Out for the Cash - 2022/8/10
  13. 2017-11-20 白银解说
  14. 利用大数据打造智慧港航运
  15. 网络系统高可用是几个9?
  16. 连接到服务器 ------------------------------ 无法连接到 + SQL Server 请求失败或服务未及时响应....解决思路
  17. python语言最早的可用版本诞生于几几年_python语言公开发行版本诞生于哪年
  18. python新闻评论分析_使用 python 抓取并分析京东商品评论数据
  19. 支付宝/钉钉小程序实现蓝牙打印
  20. Linux uname

热门文章

  1. 根据cadence设计图学习硬件知识 day03 了解 一些芯片 和 数据手册下载的地方
  2. java服务端部署到k8s集群
  3. 个人形象设计之场合着装
  4. 2023年实习生应聘面经
  5. css3四棱柱3d翻转
  6. MATLAB简易网络爬虫(未加入DFS)
  7. 新概念三册笔记-01
  8. VISIO画图:乘法器、加法器在哪里?
  9. Zeus Web服务器生成CSR文件的方法
  10. LeetCode随缘刷题之整数反转