我要抓取以下网页:
https://charlotte.realforeclose.com/index.cfm?zaction=AUCTION&Zmethod=PREVIEW&AUCTIONDATE=07/16/2019
您可以看到,有很多数据,但是当我“显示源代码”时,下面的html就是您感兴趣的数据。所有数据来自哪里?如何显示不在html中的内容?
<div class="Head_W">
<div tabindex="0" tabindex="0" class="Sub_Title">Auctions Waiting</div>
<div class="Fadebar"></div>
<div tabindex="0" class="PageFrame" area="W">
<span class="PageLeft"><img src="/CORE/System/Themes/Theme_1/Images/Common/blank.gif" alt="" width="41" height="16" align="absmiddle" /></span>
<span tabindex="0" class="PageText">page <input id="curPWA" type="text" curPG="" /> of <span id="maxWA"></span> </span>
<span class="PageRight"><img src="/CORE/System/Themes/Theme_1/Images/Common/blank.gif" alt="" width="41" height="16" align="absmiddle" /></span>
</div>
<div id="Area_W" class="Auct_Area" ref="Y" arid="W">
<div tabindex="0" class="Loading"></div>
</div>
<div class="Fadebar"></div>
<div tabindex="0" class="PageFrame" area="W">
<span class="PageLeft"><img src="/CORE/System/Themes/Theme_1/Images/Common/blank.gif" alt="" width="41" height="16" align="absmiddle" /></span>
<span tabindex="0"class="PageText">page <input id="curPWB" type="text" curPG=""/> of <span id="maxWB"></span> </span>
<span class="PageRight"><img src="/CORE/System/Themes/Theme_1/Images/Common/blank.gif" alt="" width="41" height="16" align="absmiddle" /></span>
</div>
</div>
答案 0 :(得分:1)
网站https://charlotte.realforeclose.com使用AJAX。您需要做一些逆向工程,以了解其工作原理。
打开Chrome,按 F12 打开开发人员工具,或从菜单中选择选项。
打开网络选项卡,选择XHR过滤器,将URL https://charlotte.realforeclose.com/index.cfm?zaction=AUCTION&Zmethod=PREVIEW&AUCTIONDATE=07/16/2019粘贴到浏览器地址栏中,然后按Enter。网页加载时,检查“网络”选项卡上登录的XHR。首先检查具有更大响应大小的XHR。
单击列表中的请求并检查详细信息。这是请求的URL,标题和参数。
响应内容。
由于requests方法是GET,因此您只需将URL粘贴到地址栏并检索内容即可。我的网址是:
https://charlotte.realforeclose.com/index.cfm?zaction=AUCTION&Zmethod=UPDATE&FNC=LOAD&AREA=W&PageDir=0&doR=1&tx=1563171184890&bypassPage=1&test=1&_=1563171184890
https://charlotte.realforeclose.com/index.cfm?zaction=AUCTION&Zmethod=UPDATE&FNC=LOAD&AREA=C&PageDir=0&doR=1&tx=1563171185129&bypassPage=0&test=1&_=1563171185129
稍作播放后,您可以轻松地找到参数AREA=W
的“等待拍卖”部分,以及AREA=C
的“关闭或取消拍卖”部分。似乎根本不需要参数tx
,bypassPage
,test
和_
。
使用PageDir=0
和doR=1
打开第一页,然后使用PageDir=1
和doR=0
导航到下一页,使用PageDir=-1
和前一页导航到上一页doR=0
。
最后,您只需要从应用程序中复制XHR并解析响应。根据HTTP请求的实现,您可能还需要添加必要的标头和cookie处理。