python爬虫中requests和selenium有什么区别

2023-10-27,,

这篇文章主要介绍了python爬虫中requestsselenium有什么区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

requests代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import requests
 
r = requests.get('https://api.github.com', auth=('user', 'pass'))
 
print r.status_code
print r.headers['content-type']

requests代码部分简单易懂。

selenium它是用于自动化Web应用程序的测试目的,但肯定不仅限于此。

对于一般网站来说scrapy、requests、beautifulsoup等都可以爬取,但是有些信息需要执行js才能显现,而且你肉眼所能看到的基本都能爬取下来,在学习中遇到了,就记录下来方便以后查看。

webdrive是selenium中一个函数:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('网址')

其中PhantomJS同时可以换成Chrome、Firefox、Ie等等,但是PhantomJS是一个无头的浏览器,运行是不会跳出相应的浏览器,运行相对效率较高。在调试中可以先换成Chrome,方便调试,最后再换成PhantomJS即可。

说一说 Selenium 的缺点:

1、速度慢。每次运行爬虫都打开一个浏览器,如果没有设置,还会加载图片、JS等等一大堆东西;

2、占用资源太多。有人说,把Chrome换成无头浏览器PhantomJS,原理都是一样的,都是打开浏览器,而且很多网站会验证参数,如果对方看到你是以PhantomJS去访问,会BAN掉你的请求,然后你又要考虑更换请求头的事情,事情复杂程度不知道多了多少,为啥学Python?因为Python简单啊,如果有更快、更简单的库可以实现同样的功能,为什么不去使用呢?

3、对网络的要求会更高。 Selenium 加载了很多可能对您没有价值的补充文件(如css,js和图像文件)。 与仅仅请求您真正需要的资源(使用单独的HTTP请求)相比,这可能会产生更多的流量。

4、爬取规模不能太大。

5、难。学习Selenium的成本太高,

通过比较我们可以看出,requests在代码方面简洁而且操作难度不大,相信很多小伙伴已经上手requests,而selenium的不足之处比较多,所以不推荐大家用来爬取数据。

感谢你能够认真阅读完这篇文章,希望小编分享python爬虫中requests和selenium有什么区别内容对大家有帮助,同时也希望大家多多支持本站,关注本站行业资讯频道,遇到问题就找本站,详细的解决方法等着你来学习!

《python爬虫中requests和selenium有什么区别.doc》

下载本文的Word格式文档,以方便收藏与打印。