动态网页抓取都是典型的办法
直接查看动态网页的加载规则。如果是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数据、动态网页查询数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)