Python实用宝典每次讲爬虫的时候都会从“发送请求” 开始讲,讲到解析页面的时候可能大部分读者都会卡住,因为这部分确实需要一点XPATH或者CSS选择器的前置知识。那么有没有不需要这么复杂的操作就能把页面信息读取出来的方法呢?
答案是:有。
Lassie 是一个超简单的页面信息检索工具,它能够通过几行代码就获取到页面上的静态信息,比如:页面描述、视频链接、页面标题,页面关键词、图像链接等等。
为什么超简单?感受一下:
import lassie data = lassie.fetch('https://www.zhihu.com') print(data)
你只要fetch一下页面,就能得到以下的运行结果(输出为字典):
(base) F:\push\20191112>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-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/11/2019111013222864.png', 'secure_src': 'https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'og:image'}, {'src': 'https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/11/2019111013222864.png', 'type': 'twitter:image'}, {'src': 'https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/07/2019073115192114.jpg', 'type': 'favicon'}]
当然,我们还可以用列表解析式,把所有链接放到一个数组里:
print([i['src'] for i in data['images']])
结果:
['https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/11/2019111013222864.png', 'https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/11/2019111013222864.png', 'https://pythondict-1252734158.file.myqcloud.com/home/www/pythondict/wp-content/uploads/2019/07/2019073115192114.jpg']
怎么样,是不是这个工具拿来爬静态页面实在太方便了!唯一的缺点就是它无法爬取页面中详细的文本内容,仅仅只能用来提取图片、视频和页面相关的信息,如果你的爬虫是只需要爬取静态页面上的图片和视频,那这个库简直是神器啊。
如果你喜欢今天的Python 教程,请持续关注Python实用宝典,如果对你有帮助,麻烦在下面点一个赞/在看哦
Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典