python 爬虫代码_Python 你见过三行代码的爬虫吗

b30839be2770332d48ec18af9a24d0ce.png

Python 使用Lassie库,仅编写三行代码就能爬取静态页面上的图片和视频。Python实战教程每次讲爬虫的时候都会从“发送请求” 开始讲,讲到解析页面的时候可能大部分读者都会卡住,因为这部分确实需要一点XPATH或者CSS选择器的前置知识。那么有没有不需要这么复杂的操作就能把页面信息读取出来的方法呢?

答案是:有。

Lassie 是一个超简单的页面信息检索工具,它能够通过几行代码就获取到页面上的静态信息,比如:页面描述、视频链接、页面标题,页面关键词、图像链接等等。

为什么超简单?感受一下:

import lassie
data = lassie.fetch('https://www.zhihu.com')
print(data) 你只要fetch一下页面,就能得到以下的运行结果(输出为字典):(base) F:push20191112>python test.py{'images': [{'src': 'https://static.zhihu.com/static/favicon.ico', 'type': 'favicon'}], 'videos': [], 'description': '有问题,上知乎。知乎,可信赖的问答社区,以让每个人高效获得可信赖的解答为使命。知乎凭借认真、专业和友善的社区氛围,结构化、易获得的优质内容,基于问答的内容生产方式和独特的社区机制,吸引、聚集了各行各业中大量的亲历者、内行人、领域专家、领域爱好者,将高质量的内容透过人的节点来成规模地生产和分享。用户通过问答等交流方式建立信任和连接,打造和提升个人影响力,并发现、获得新机会。', 'locale': 'zh_CN', 'url': 'https://www.zhihu.com', 'title': '知乎 - 有问题,上知乎', 'status_code': 200}

1.安装

如果你还没有安装Python,推荐阅读这篇文章:Python安装。

安装完成后,请打开你的CMD/Terminal(终端)输入以下命令:

pip install lassie

即可成功安装lassie.

2.使用

现在,用这个工具爬取我们上篇文章的图片链接吧!

import lassie
data = lassie.fetch('https://pythondict.com/ai/python-suicide-detect-svm/')
print(data['images'])

结果:

[{'src': 'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'secure_src': 'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'og:image'}, {'src':  
'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'twitter:image'},  
{'src': 'https://pythondict.com/wp-content/uploads/2019/07/2019073115192114.jpg', 'type': 'favicon'}]

当然,我们还可以用列表解析式,把所有链接放到一个数组里:

print([i['src'] for i in data['images']])

结果:

['https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'https://pythondict.com/wp-content/uploads/2019/11/2019111013222864.png', 'https://pythondict.com/wp-content/uploads/2019/07/2019073115192114.jpg']

怎么样,是不是这个工具拿来爬静态页面实在太方便了!唯一的缺点就是它无法爬取页面中详细的文本内容,仅仅只能用来提取图片、视频和页面相关的信息,如果你的爬虫是只需要爬取静态页面上的图片和视频,那这个库简直是神器啊。

如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看哦

aa3cd73d38ddb2824fd45d8c5768aef6.gif

有任何问题都可以在下方留言区留言,我们会耐心解答的!

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

原文来自Python实用宝典:Python 你见过三行代码的爬虫吗

c247ad7bb73731091d9a870386c1203b.png

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

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

相关文章

接口传值后不起作用_聊一聊 API 接口测试

知其然亦知其所以然,接口测试没有那么复杂,但也没有那么简单。本文作者:张敏,软件测试工程师,就职于一家容器平台解决方案公司,负责 DevOps 产品的测试。什么是 APIAPI(Application Programming Interface)…

服务器无法在发送 http 标头之后设置内容类型。_python socket编程预知内容

socket:运用IP地址协议端口 标识一个进程我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程, 在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大 …

自定义键盘组件_一文读懂!iOS系统组件的设计规范全解

一说到组件,大部分初级设计师和中级设计师的脑海里只会蹦出弹窗、Toast及操作列表等具体的概念,没有一套属于自己的组件分类体系,这样对于视觉设计、交互设计或产品设计的系统学习来说都是不利的。iOS14概念设计iOS官方设计指南在介绍组件时是…

anaconda安装python视频_怎么安装anaconda?

安装 Anaconda步骤: 1、双击下载好的 Anaconda2-5.2.0-Windows-x86_64.exe文件,出现如下界面,点击 Next 即可。2、点击 I Agree (我同意)3、Install for: Just me还是All Users,假如你的电脑有好几个 Users…

office365 自定义_IT外包观察,足不出户,Office365打造教学新体验?

Office365无疑是当今最高效的集文档处理、联机协同、移动办公、快捷沟通、商业智能为一体的云端生产力服务。但office365仅仅只应用于移动办公吗?有没有可能实现移动办学呢?仅仅是商业智能吗?会不会也能做到教学智能?上海蓝盟连续…

python连接数据库mysql错误1045、手动登录可以_登录mysql错误1045解决方法

在命令提示符中登陆mysql时,提示1045报错解决方案: 安装好mysql,在cmd中输入mysql -uroot -p回车,输入密码后,出现1045错误,错误提示如下: ERROR 1045(28000): Access denied for user rootloca…

host 端口_如何让多端口网站用一个nginx进行反向代理实际场景分析

前段时间公司要整合服务器资源,刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合,断断续续一个月迁移完成大概优化掉了1/3的机器,完成之后遇到了一些问题,比如曾今零零散散部署在生产上一些可视化UI:apollo&…

sqldeveloper导出数据字典_如何全面建设B端产品中的数据迁移方案

加关注,带你看世界在新系统替换老系统或者系统升级的项目中,难免会存在数据迁移的工作,并且随着业务系统和数据结构的复杂性,数据迁移的难度越大。这亦要求在项目实施的前期,根据客户的需求尽可能全面地考虑到各个方面…

声明对象_静态变量(使用同一个类声明的对象可以共享一个值)

要在属于同一种类的对象之间共享数据值,可以使用static。namespace demo3{ class point //定义点 { public int x; public int y; } class line { static public point origin new point(); public point ending ne…

centos6配置mysql远程访问_MariaDB 数据库配置 Navicat 程序远程访问权限

如果MySQL数据库采用的是 MariaDB 引擎,与普通的数据库配置有点不同 MariaDB 与普通的MySQL数据库的一个不同在于它的配置文件不止一个,它将不同的数据放入到不同的配置文件中,之前的/etc/mysql/my.cnf内容如下:从文件中的注释上来…

java读取mysql配置文件_Linux运维:MySQL读写分离解决方案

一次性付费进群,长期免费索取教程,没有付费教程。进微信群回复公众号:微信群;QQ群:460500587教程列表 见微信公众号底部菜单 | 本文底部有推荐书籍 微信公众号:计算机与网络安全ID:Computer-net…

的硬件报错_工程师经验:78%的硬件失效罪魁祸首 —— 焊接问题

工程师经验你是否长时间纠缠于线路板的失效分析?你是否花费大量精力在样板调试过程中?你是否怀疑过自己的原本正确的设计?也许许多硬件工程师都有过类似的心理对话。有数据显示,78%的硬件失效原因是由于不良的焊接和错误的物料贴片…

柔性体没有应变_灌注式半柔性道面材料抗冲击性能试验研究

文章来源:微信公众号"沥青路面”前言灌注式半柔性道面材料是一种刚度大于沥青混凝土,小于水泥混凝土的复合道面材料,在兼具了两种材料优势的同时避开了它们的缺陷。半柔性道面不存在裂缝,而且受温度影响远远小于沥青道面&…

html网页上传到服务器_JSP+Servlet实现文件上传到服务器功能

本文实例为大家分享了JSPServlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下项目目录结构大致如下:正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC 架构&#xff…

gaf处理一维故障信号_【推荐文章】改进局部均值分解的齿轮箱复合故障特征提取...

《机械传动》2019年 第43卷 第8期文章编号:1004-2539(2019)08-0130-05DOI:10.16578/j.issn.1004.2539.2019.08.024引用格式:柴慧理, 叶美桃. 改进局部均值分解的齿轮箱复合故障特征提取[J]. 机械传动, 2019,43(8):130-134.CHAI…

dll模块化设计与编程_FPGA设计原则经验分享

一、面积和速度如何折中 面积和速度是芯片设计中一对相互制约、影响成本和性能的指标,贯穿FPGA设计的始终。在FPGA设计中,面积是指一个设计消耗的FPGA内部逻辑资源的数量,可以用消耗的触发器和查找表的个数或者是等效逻辑门数来衡量&#x…

div背景透明_为什么css3实现background-image和半透明边框这么麻烦

”background和border属性能有什么难的?"我经常听到新手觉得css的background和border属性简单。那好,我们来看下面这个比较“简单”的需求:父元素有一张背景,子元素有边框,且子元素有一张背景颜色。这时候子元素的…

c mysql 查询超时设置_MySQL查询超时的设置方法

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 这里顺带解释一下什么是non-interactive connection Non-Interactive Commands Just do a quick look up on a table without logging into the client, running the query then logging back out aga欢…

python聚类分析案例_深度解读|如何构建用户分级体系实现精细化运营?附案例实操...

本文内容较长,代码全部已展示在文中用户精细化分类也可以称做用户画像,是目前很常见的一种运营手段,目的是为了更好的服务不同性质的客户,提高每个环节的转化率,最大程度挖掘客户价值,创造利润。那么如何构…

单片机集成wifi等_从零制作单片机需要哪些知识?

请点击上面 免费关注...说一下从芯片制作开始到最后编写驱动程序整个过程中每一步所需要的知识。作者:彭谟威链接:https://www.zhihu.com/question/28580074/answer/93515413来来来,让我们一起,左手右手一个慢动作。每一个方向都值…