解决方案:Python自动点击京东商品价格条件,智能采集价格数据!
优采云 发布时间: 2020-09-13 08:01Python自动点击京东产品的价格状况并智能地采集
价格数据!
注意:如果在执行操作之前和之后网页结构没有变化,则可以使用一条规则来完成;如果网络结构在前后变化,则必须使用两个或更多规则来完成;此外,如果涉及翻页,则必须将其分为两个“一个或多个”规则。有关连续操作的规则数量,请参阅“计划获取过程”一文。
一、建立第一级主题爬网目标信息
建立第一级主题的规则,然后将所需的信息映射到排序框。建议在完成内容映射后,还应进行定位标记映射,以提高定位精度和规则适应性。
注意:如果您设置了连续操作规则,则无需构建排序框。例如,方案2的第一级主题不需要构建排序框,而是使用排序框来获取一些数据(选择将在网页上显示的信息)。爬虫需要判断是否执行采集
,否则可能会错过网页的采集
。
二、设置连续动作,然后单击“新建”按钮创建一个新动作。每个动作的设置方法相同。基本操作如下:
2. 1输入目标主题名称
连续动作指向同一目标对象。如果有多个操作,并且您要指向不同的主题,请将它们分成多个规则,然后分别设置连续的操作。
2. 2选择动作类型
这种情况是单击操作,并且不同操作的应用范围不同。请根据实际操作情况选择动作类型。
2. 3将位于动作对象的xpath填充到定位表达式中
2. 4输入动作名称
告诉自己该步骤的用途,以便稍后进行修改。
2. 5高级设置
不必首先设置它,以后在调试连续动作时将使用它,这可以扩大适用的动作范围。如果需要捕获操作对象的信息,请使用xpath在高级设置的内容表达式中找到操作对象的信息。请根据需要进行设置。
注意:是否正确选择了动作类型以及xpath定位是否正确,将确定连续动作是否可以成功执行。 Xpath是用于定位html节点的标准语言。使用连续动作功能之前,请先自己掌握xpath。
根据人工步骤,我们还需要选择版本和购买方法1、购买方法2,因此我们将继续创建3个新操作并重复上述步骤。
三、调试规则
完成上述步骤后,单击“保存规则”,然后单击“爬网数据”按钮以开始试用捕获。采集
期间报告了一个错误:无法找到节点***。观察浏览器窗口,发现单击第一步后,未加载其他信息。当加载信息时,发现点击了购买方法2。无法返回执行四步单击的页面,从而导致连续执行连续操作。
鉴于上述情况,我们的解决方案是删除第四步。因为无论您是否单击购买方法2,它都不会影响产品的价格。因此,可以删除不必要的干扰步骤。
修改后,尝试再次捕获。将提取的xml转换为excel后,我发现价格和累积评估数据被捕获或捕获不正确。这是因为网页太大,加载速度太慢,并且单击后的数据将必须等待一段时间才能加载。
为了捕获所有数据,您需要延长等待时间并分别为每个操作设置延迟。单击操作步骤->高级设置->额外延迟,然后输入以秒为单位的正整数。请根据实际时间进行调试。
此外,如果不是顶部窗口,则在采集
时将反复单击它。这是因为京东网站上有一些防爬措施,这些措施必须是当前的窗口操作才能生效。因此,请检查该窗口在高级设置中是否可见,并且在采集过程中该窗口将位于顶部。请根据实际情况进行设置。
四、如何将捕获的信息映射到操作步骤?
如果要将捕获的信息与操作步骤一一对应,则必须提取操作对象的信息。有两种方法:
4. 1使用xpath在连续动作的高级设置的内容表达式中找到动作对象的信息节点。
在将定位表达式定位到动作对象的整个操作范围之后,它还收录
其自己的信息。因此,内容表达仅需要从所定位的动作对象开始,并继续对其信息进行定位。采集
时,此步骤的动作信息将记录在与该动作编号对应的动作值中,该动作编号记录了该动作的执行次数。
4. 2在整理框中获取动作对象的信息,这里也使用xpath进行定位。
执行动作对象时,其dom结构将更改。找到网页更改的结构特征,使用xpath精确定位节点,并在通过验证后,可以设置自定义xpath。
以上是使用连续动作来模拟手动操作的整个过程。尽管此过程比较麻烦,但是只要您小心谨慎和耐心地进行,最终就可以征服要爬网的网页。