网站点击数字翻页html代码,无【下一页】按钮,点击数字进行翻页

使用智能识别和自行配置的采集规则,都能实现点击数字进行翻页,具体设置方法如下:

1a52325c91a0ae18cc7d3f0b834287ad.png

1、使用智能识别实现【数字翻页】

八爪鱼的智能识别,支持【数字翻页】的智能识别,如下图所示:

68a87168cfc17e82272ce95940e02e9f.gif

2、自己配置采集流程实现【数字翻页】

如果想了解背后的原理,我们可以来尝试自己配置这类网页的采集流程。

让八爪鱼不断点击数字进行翻页:当前页是第1页,点第2页;当前页是第2页,点第3页.......当前页是最后1页,结束【循环翻页】。

所以问题的关键是:需要写一条XPath,使其始终能定位到当前页的下一页(最后1页除外)。需要大家有一定的XPath知识,点击学习

Step1. 写一条XPath,使其始终能定位到当前页的下一页(最后1页除外)。分2步:先定位到当前页;再定位到当前页的下一页。打开火狐浏览器,用XPath工具观察此网页页码的网页源码。

先定位到当前页。

当前页分别是第1页、第2页、第3页......最后1页时,观察网页源码的特征。我们发现:当前页的源码是span标签,而其他页则是a标签。

6ed8219835f2bd23a8f12af05b250a08.png

特别说明:

a. 这个网页,当前页和其他页的源码区别非常明显。但有的网页可能没这么明显,请大家耐心去找到当前页和其他页的源码区别。

继续观察当前页源码中span标签的特征,找到具有唯一性的那个特征。我们发现,当前页对应的span标签,具有class属性,且class属性的属性值为thisclass。根据这个特征,写出一条定位XPath://span[@class="thisclass"] 。

检查后发现,能定位到每个当前页。

e599d77f9ad519795b4ae0f4f2f53b0d.png

再定位到当前页的下一页 。

在XPath中,【following-sibling:: 】函数可实现。【following-sibling:: 】的意思是,定位到当前标签后面的所有同级标签。

a. 什么是同级标签?HTML文档是树状结构,标签之间具有层级性。同级标签即处于同一层级的标签。

4448f084735ce01dd0a13df78e830d68.png

//span[@class="thisclass"]定位到了class属性值为thisclass的span标签,这个span标签后面的同级标签是a标签。则 //span[@class="thisclass"]/following-sibling::a ,就定位到了此span标签后面的所有同级a标签。

c27b848a806eed61db41f1495bada632.png

由于我们是 需要定位到当前页的下一页,所以只需要定位到第一个a标签,在a后面加上[1]即可。最终的定位XPath为://span[@class='thisclass']/following-sibling::a[1]

检查后发现,能定位到每个当前页的下一页(除最后1页,最后1页无需翻页,正是我们需要的)。

4d2eed084fb320a43525be2c6984c153.png

Step2. 在八爪鱼中创建一个【循环翻页】。往流程中拖入一个【循环】步骤,选择循环方式为【单个元素】,将上面写好的XPath://span[@class='thisclass']/following-sibling::a[1],复制到【单个元素】后面的文本框中,点击【确定】保存。

再往【循环】里面拖入一个【点击元素】的步骤,勾选【点击当前循环中设置的元素】,设置Ajax超时时间为7秒,然后点击【确定】保存。手动执行一个规则,发现可正常翻页。

为什么要设置Ajax?点击查看

接下来就是按需提取数据了,不再赘述。

作者:Bin

编辑:Aisling

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中设置点击按钮进行翻页的游戏可以通过以下步骤实现: 1. 创建一个新场景,并在场景中添加两个或多个页面。每个页面应该是一个单独的游戏对象,可以包括文本、图像、按钮等。确保每个页面的位置和大小相同。 2. 在每个页面上添加一个按钮,以便在点击按钮时切换到下一个页面。您可以使用Unity的UI工具来创建按钮。 3. 在每个按钮上添加一个脚本,以便在点击按钮时触发页面切换。您可以使用以下代码: ``` public class PageSwitcher : MonoBehaviour { public void NextPage() { // 切换到下一页 int currentPageIndex = transform.GetSiblingIndex(); int nextPageIndex = (currentPageIndex + 1) % transform.parent.childCount; transform.parent.GetChild(nextPageIndex).gameObject.SetActive(true); // 关闭当前页面 gameObject.SetActive(false); } } ``` 这个脚本可以附加到每个按钮上,并在点击按钮时切换到下一个页面。它假设每个页面都是场景中的子对象,并使用SetActive()函数来切换页面的可见性。 4. 在第一个页面上禁用所有按钮之外的游戏对象,并在场景加载时启用第一个页面。您可以使用以下代码: ``` public class PageLoader : MonoBehaviour { void Start() { // 禁用所有除第一个页面外的游戏对象 for (int i = 1; i < transform.childCount; i++) { transform.GetChild(i).gameObject.SetActive(false); } // 启用第一个页面 transform.GetChild(0).gameObject.SetActive(true); } } ``` 这个脚本可以附加到场景中的任何对象上,并在场景加载时禁用所有除第一个页面之外的游戏对象,并启用第一个页面。 5. 在Unity编辑器中测试您的游戏,并确保在点击按钮时正确切换页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值