getfeel 发表于 2020-8-22 16:57:14

Javascript页面自动分页是怎么触发的

本帖最后由 getfeel 于 2020-8-22 20:16 编辑

同一个url,同样的headers,使用浏览器就不会分页,用requests 去爬就会分页

----------------------------------------------------------------------------------------
更新一下,使用浏览器抓取的cookies正常。但是requests获取的cookies就会分页。

目前来看可能是服务器在浏览的过程中在某一步对cookies做了一下认证之类的操作。






这是浏览器返回的部分代码
<form name="form" method="post" action="query_list.jsp">

<input type="hidden" name="order_field" value="Name">
<input type="hidden" name="parent_id" value="1623">
<input type="hidden" name="page_num" value="1">
<input type="hidden" name="total_pages" value="1">
<input type="hidden" name="title" value="">
<input type="hidden" name="note" value="">
<input type="hidden" name="disp_mode" value="">
<input type="hidden" name="QueryModule" value="查询管理器">
<input type="hidden" name="BusinessID" value="">
<input type="hidden" name="GroupID" value=""><!-- 添加到的目的组 -->

<table border="0" width="100%" cellspacing="1" cellpadding="1">

<tr height="33">
        <td nowrap>
                <select class="filter_combox" name="filter_combox" size="1" onMouseMove="window.status='请选择过滤字段'" onMouseOut="window.status=''">
                        <option value="Name">名称</option>
                        <option value="DispMode">显示形式</option>
                        <option value="Owner">拥有者</option>
                        <option value="Note">备注</option>
                </select>
                <span title="请输入过滤条件">
                        <input name="filter_input" size="14" value="">
                </span>
                <input type="button" value="过滤" name="filter_btn" onclick="javascript:filter()">
        </td>
        <tdalign="right" nowrap>共27条记录&nbsp;第1页&nbsp;共1页&nbsp;</td>
        <td width="110" align="right" nowrap>
                <input type="text" name="pages_input" size="6" value="页码" onFocus="this.value=''">
                <span title="请输入跳转页码">
                        <input type="button" value="跳转" name="goto_btn" onclick="goToPage()">
                </span>
        </td>
</tr>


这是request返回的:
<form name="form" method="post" action="query_list.jsp">



<input type="hidden" name="order_field" value="Name">

<input type="hidden" name="parent_id" value="1623">

<input type="hidden" name="page_num" value="1">

<input type="hidden" name="total_pages" value="2">

<input type="hidden" name="title" value="">

<input type="hidden" name="note" value="">

<input type="hidden" name="disp_mode" value="">

<input type="hidden" name="QueryModule" value="??ヨ?㈢?$?????">

<input type="hidden" name="BusinessID" value="">

<input type="hidden" name="GroupID" value=""><!-- 添加到的目的组 -->



<table border="0" width="100%" cellspacing="1" cellpadding="1">



<tr height="33">

        <td nowrap>

                <select class="filter_combox" name="filter_combox" size="1" onMouseMove="window.status='请选择过滤字段'" onMouseOut="window.status=''">

                        <option value="Name">名称</option>

                        <option value="DispMode">显示形式</option>

                        <option value="Owner">拥有者</option>

                        <option value="Note">备注</option>

                </select>

                <span title="请输入过滤条件">

                        <input name="filter_input" size="14" value="">

                </span>

                <input type="button" value="过滤" name="filter_btn" onclick="javascript:filter()">

        </td>

        <tdalign="right" nowrap>共27条记录&nbsp;第1页&nbsp;共2页&nbsp;</td>

        <td width="110" align="right" nowrap>

                <input type="text" name="pages_input" size="6" value="页码" onFocus="this.value=''">

                <span title="请输入跳转页码">

                        <input type="button" value="跳转" name="goto_btn" onclick="goToPage()">

                </span>

        </td>

</tr>

聂嘉辉 发表于 2020-8-22 17:04:48

哪个url

陈尚涵 发表于 2020-8-22 17:15:21

什么意思?没理解题意。

getfeel 发表于 2020-8-22 17:35:36

聂嘉辉 发表于 2020-8-22 17:04
哪个url

内网系统,给了你也没用啊。。。

1q23w31 发表于 2020-8-22 17:39:40

getfeel 发表于 2020-8-22 17:35
内网系统,给了你也没用啊。。。

那这两段html的不同点你说一下,看起来有的麻烦

getfeel 发表于 2020-8-22 17:40:29

陈尚涵 发表于 2020-8-22 17:15
什么意思?没理解题意。

简单说就是同一个url,
通过浏览器打开,可以同时显示27行的全部内容。
但是通过爬虫程序去抓取的时候,系统分成两页,返回的是第一页的15行内容。

1q23w31 发表于 2020-8-22 17:41:54

getfeel 发表于 2020-8-22 17:40
简单说就是同一个url,
通过浏览器打开,可以同时显示27行的全部内容。
但是通过爬虫程序去抓取的时候 ...

开发者工具,看看浏览器有几个数据包

getfeel 发表于 2020-8-22 17:50:04

1q23w31 发表于 2020-8-22 17:41
开发者工具,看看浏览器有几个数据包

是指network抓取到的数据包么?除去get图片的
一共有三个,
另外还有
Request URL: http://10.96.28.57:8080/emvnms/css/newblue.css
Request URL: http://10.96.28.57:8080/emvnms/js/common.js
不过这两个在request header 里面都通过refer字段带了第一个的URL
Referer: http://10.96.28.57:8080/emvnms/ztek/enb15/query_design/controler.jsp?group_id=1623&QueryModule=%B2%E9%D1%AF%B9%DC%C0%ED%C6%F7&BusinessID=

权限不够没法上传图片,暂时只能这么描述了。

聂嘉辉 发表于 2020-8-22 17:50:34

有没有cookies

getfeel 发表于 2020-8-22 17:51:45

聂嘉辉 发表于 2020-8-22 17:50
有没有cookies

当然有啊,没有cookies就不会有返回值了吧

聂嘉辉 发表于 2020-8-22 17:54:55

用beautifulsoup吗

getfeel 发表于 2020-8-22 17:55:41

本帖最后由 getfeel 于 2020-8-22 17:58 编辑

1q23w31 发表于 2020-8-22 17:39
那这两段html的不同点你说一下,看起来有的麻烦

https://s1.ax1x.com/2020/08/22/daHD29.png
https://s1.ax1x.com/2020/08/22/daHRUO.png

不同点除了 一个多的14条内容外就这两个地方了。

另外那个回复不知道为啥没出来。
通过浏览器network抓取的报文:
https://s1.ax1x.com/2020/08/22/dabQZ6.png

1q23w31 发表于 2020-8-22 17:56:32

getfeel 发表于 2020-8-22 17:55


你用开发者工具看一下浏览器加载了几个数据包

聂嘉辉 发表于 2020-8-22 17:58:11

那个是一共有几页。没翻页好不好

getfeel 发表于 2020-8-22 17:59:20

1q23w31 发表于 2020-8-22 17:56
你用开发者工具看一下浏览器加载了几个数据包

回在上面了

getfeel 发表于 2020-8-22 18:00:13

聂嘉辉 发表于 2020-8-22 17:58
那个是一共有几页。没翻页好不好

我知道没翻页啊,问题是浏览器打开的话一个页面就可以显示完了啊。。。

1q23w31 发表于 2020-8-22 18:01:29

本帖最后由 1q23w31 于 2020-8-22 18:02 编辑

getfeel 发表于 2020-8-22 17:55
不同点除了 一个多的14条内容外就这两个地方了。

另外那个回复不知道为啥没出来。


点到response看一下初始响应包就是27条全有?或者关闭js看一下浏览器加载的响应

getfeel 发表于 2020-8-22 18:03:41

1q23w31 发表于 2020-8-22 18:01
点到response看一下初始相应包就是27条全有?或者关闭js看一下浏览器加载的响应

对,第一个报文里面27条全有,关闭js我找找看怎么弄。。。

getfeel 发表于 2020-8-22 18:09:18

1q23w31 发表于 2020-8-22 18:01
点到response看一下初始响应包就是27条全有?或者关闭js看一下浏览器加载的响应

关闭JS以后除了JS那条红了,别的一切正常。。。。
https://s1.ax1x.com/2020/08/22/daq3mq.png

1q23w31 发表于 2020-8-22 18:09:54

getfeel 发表于 2020-8-22 18:09
关闭JS以后除了JS那条红了,别的一切正常。。。。

方便远程吗?
页: [1] 2
查看完整版本: Javascript页面自动分页是怎么触发的