python3 怎样爬取动态加载的网页信息

Python012

python3 怎样爬取动态加载的网页信息,第1张

方法1

寻找页面中的xhr请求, 并得到实际的请求参数. 直接获取相关搜索的请求返回代码, 然后进行数据整理.

方法2

模拟浏览器操作, 比如使用Selenium 模块.

零. 在用scrapy爬取数据中,有写是通过js返回的数据,如果我们每个都要获取,那就会相当麻烦,而且查看源码也看不到数据的,所以能不能像浏览器一样去操作他呢?

所以有了->

Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。

请求库:

1. requests 这个库是爬虫最常用的一个库

2. Selenium Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作 对于一些用JS做谊染的页面来说,这种抓取方式是非常有效的。

3.ChomeDrive 安装了这个库,才能驱动Chrome浏览器完成相应的操作

4.GeckoDriver 使用W3C WebDriver兼容客户端与基于Gecko的浏览器进行交互的代理。

5.PhantomJS PhantomJS 是一个无界面 、可脚本编程的 WebKit 浏览器引擎,它原生支持多种Web标准:Dom操作,css选择器,json,Canvas以及SVG。

6.aiohttp 之前接收requests库是一个阻塞式HTTP请求库,当我们发送一个请求后。程序会一直等待服务器响应,直到服务器响应后,程序才会最下一步处理。其实,这个过程比较耗时间。如果程序可以在等待的过程中做一些其他的事情,如进行请求的调度,响应的处理等,那么爬虫的效率就会比之前的那种方式有很大的提升。 而aiohttp就是这样一个提供异步web服务的库。使用说这个库用起来还是相当方便的。

解析库:

1.lxml lxml是python的一个解析库,这个库支持HTML和xml的解析,支持XPath的解析方式,而且效率也是非常高的,深受广大程序员的热爱

2.Beautiful Soup Beautiful Soup也是python里一个HTML或XMl的解析库,它可以很方便的懂网页中提取数据,拥有强大的API和多种解析方式。

3.pyquery 同样是一个强大的网页解析工具,它提供了和 jQuery 类似的语法来解析HTML 文梢,

数据库:

1.mysql 数据库

2.MongoDB Mo goDB 是由 ++语言编写的非关系型数据库, 是一个基于分布式文件存储的开源数据库系统内容存储形式类似 JSON 对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活

3.Redis 是一个基于 存的高效的非关系型数据库,

存储库:

1.PyMySOL

2.PyMongo

3.redis-py

4.RedisDump

web库:

1.Flask 是一个轻量级的Web服务程序,它简单,易用,灵活

2.Tornado 是一个支持异步的Web框架,通过使用非阻塞I/O流,可以支持成千上万的开放式连接。