python抓取动态网页(作为爬虫程序,如何获取网页API接口?(组图) )
优采云 发布时间: 2022-01-24 23:12python抓取动态网页(作为爬虫程序,如何获取网页API接口?(组图)
)
在之前的文章文章中,我们学习的是静态数据的爬取,即获取的数据是网页上一直存在的数据,不会改变。这些数据的获取相对简单。.
但是,在爬虫的实际应用场景中,很多数据并不是静态存在的,大部分都是以动态的形式存在的,即随时取用,不需要取用。它只会在查看此数据的内容时出现,所有其他时间都在数据库中。
这种方式减少了网页的臃肿感,但需要更高层次的数据库应用和网页编写。
作为爬虫,如何获取动态数据?
这就是 文章 的意义所在。
前面的文献中提到,很多网页的数据是动态生成的,也就是说在浏览器窗口中查看网页源代码时,在HTML代码中是找不到这些内容的。获取静态数据的方式不起作用。
在这种情况下,如果要获取数据,则需要找到网络API接口来获取这些数据。
那么,什么是 API 接口?
API,即Application Programming Interface,应用程序接口。
API 的功能是为应用程序和开发人员提供访问基于一个软件或硬件的一组例程的能力,而无需访问原创代码。
用人类的话来说,网页制作者只需要将API接口与他们制作的网页连接起来,不需要网页制作者自己建立数据库。即网页前端与数据后端的连接通道。
按照上面的题目,如何获取网页的API接口呢?
下面是一个网站“百度图片”的例子。打开网页后,按F12键显示网页源代码,如图:
当然,在这个接口中是找不到API接口的。在这个界面找到NETWORK选项,点击查看API界面。
只要找到API接口,就可以进行下一步了。
硒
对于初学者,可以使用自动化测试工具 Selenium,它提供了浏览器自动化的 API 接口,从而可以通过操作浏览器来获取动态内容。
当然,如果你想使用它,你必须先安装它。像往常一样,我们打开CMD,输入pip3 install selenium,回车,让系统自行下载安装。
接下来,我们使用 Selenium 来练习。
我们开通了中国最大的*敏*感*词*交友网站网站——BiBiLiLi 。
打开哔哩哔哩直播,使用Selenium获取各个*敏*感*词*的封面图。代码显示如下:
从 bs4 导入 BeautifulSoup
从硒导入网络驱动程序
从 mon.keys 导入密钥
定义主():
驱动程序 = webdriver.Chrome()
driver.get('#39;)
汤 = BeautifulSoup(driver.page_source, 'lxml')
对于 soup.body.select('img[src]') 中的 img_tag:
打印(img_tag.attrs['src'])
如果 __name__ == '__main__':
主要的()
在上面的程序中,我们使用 Selenium 来控制 Chrome 浏览器。如果我们要控制其他浏览器,可以创建相应的浏览器对象,比如Firefox、IE等。
Selenium 更具体的功能可以去其官方网站了解。
如果想了解更多技术知识,可以点击关注。
如果对文章的内容有什么疑惑,可以在评论区提出自己的问题,学会和大家交流,解决各种问题,共同进步。
青年研究陪伴所有年轻人