如何用Python爬取动态加载的网页数据

如何用Python爬取动态加载的网页数据,第1张

动态网页抓取都是典型的办法

直接查看动态网页的加载规则。如果是ajax,则将ajax请求找出来给python。 如果是js去处后生成的URL。就要阅读JS,搞清楚规则。再让python生成URL。这就是常用办法

办法2,使用python调用webkit内核的,IE内核,或者是firefox内核的浏览器。然后将浏览结果保存下来。通常可以使用浏览器测试框架。它们内置了这些功能

办法3,通过>

只要是数据库就可以查询。

一般动态网页的组合有:

asp+access或ms sql,易学但功能有所局限,不过一般的网站足够

aspnet+access或ms sql 功能较强,目前主流之一,新学可以从此学起

php+mysql 也是主流之一,也可以学,开源的东西多

java等

一般来说:

1、建立数据库表单

2、在网页上建立数据连接,常用的ado连接

3、可以通过页面对数据库更新建立新的数据

4、动态网页根据查询条件从数据库返回数据

代码比较简单,直接看就可以了,需要注意的是,由于浏览器查询需要时间,在查询的过程中,应该让主线程休眠一段时间,才能保证htmlunit浏览器已经查询完毕。

import javautilconcurrentTimeUnit;

import comgargoylesoftwarehtmlunitBrowserVersion;

import comgargoylesoftwarehtmlunitWebClient;

import comgargoylesoftwarehtmlunithtmlDomNodeList;

import comgargoylesoftwarehtmlunithtmlHtmlElement;

import comgargoylesoftwarehtmlunithtmlHtmlPage;

import comgargoylesoftwarehtmlunithtmlHtmlTable;

import comgargoylesoftwarehtmlunithtmlHtmlTableBody;

public class Entrance {

public static void main (String[] args ) throws Exception

{

String webUrl = ">

1、JS获取表格的简便方法:获取tbody:tBodies 获取thead:tHead 获取tfoot:tFoot 获取行tr:rows 获取列td:cells

使用实例: oTabletBodies[0] oTabletHead[0] oTabletFoot[0] oTablerows[1] oTablecells[1]

2、遍历

var oTable=documentgetElementById("表格id");

oTabletBodies[0]可以看成是rows和cells组成的二维数组,用两个for循环嵌套遍历一下就可以了

我明白你的意思,有两个简单的方法:

一个是用框架,另外一个是调用。而这两种方法,都要在html里写一点动态页面的代码。因为html是静态的,内容是确定的;动态页面的数据是按用户的要求产生的,页面具有不确定性。静态要加动态页面的数据,必须嫁接动态源代码。JS也无法过渡,JS是伪静态代码,不是真正的动态代码。

刚看了下,是用ajax获取的数据,直接抓取以下的地址就可以拿到对应的JSON字符串了

PHP参考代码,拿到JSON之后,用 json_decode() 可以直接转换为PHP数组,就是你想要的数据了

$str = file_get_contents($url);

$arr = json_decode($str);

以上就是关于如何用Python爬取动态加载的网页数据全部的内容,包括:如何用Python爬取动态加载的网页数据、如何获取动态页面JS数据、动态网页查询数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9646880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存