利用haohedi的网页爬虫任务从网站上爬取数据

news/2024/5/13 22:20:42/文章来源:https://blog.csdn.net/weixin_30299709/article/details/98999078

HHDI爬虫任务配置说明

一、 摘要

爬虫任务可以从主流网站爬取相关数据存储到目标数据库表或者服务器本地文件夹spider-data中,支持以html和json的形式保存原网页信息。

二、 操作步骤

本文以安居客(https://yt.anjuke.com/sale/laishanqu/)网站为对象进行配置说明讲解。

1. 创建网页爬虫任务

打开转换任务 > 新建网页爬虫。

clipboard

图1 进入网页爬虫页面路径

2. 基础信息配置

按照页面提示输入基本信息,其中任务编号和任务名称为必填项。

clipboard[1]

图2 基本信息页面

3. 登录信息配置(大部分网站可忽略此步)

登录信息配置主要为爬取网站用户名、密码和验证码等登录信息。如果待爬取的网站信息不需要登录,则可以直接跳过该部分的信息配置,如果需要登录,可参考如下配置过程:

1、 点击登录按钮,进入到登录页面

clipboard[2]

图3初始页面信息

2、 根据如下操作获取需要填写的信息:

clipboard[3]

图4登录页面信息

以上是获取【登录URL】和【登录用户字段】的操作过程(4步),其中的id:pwdUserNameIpt或者name: username可作为【登录用户字段】信息,获取其他字段的操作均可参考该部分操作。配置结果参考如下:

clipboard[4]

图5登录信息配置页面

4. 爬取页面配置

爬取页面配置是网页爬虫任务的主要配置项,主要配置入口页URL、下一页、详情页URL的爬取规则,配置好的规则如下图所示:

clipboard[5]

配置详解:

例如,我们要爬取烟台市莱山区的二手房信息,入口页地址为:https://yt.anjuke.com/sale/laishanqu/,以分页列表方式显示各个二手房的标题和摘要信息:

clipboard[6]

点击某个房产信息标题后,我们会进入该房产信息的详情页面,例:

https://yt.anjuke.com/prop/view/A1761882388?from=filter&spread=filtersearch&uniqid=pc5d26fdbf4bcb73.65789478&region_ids=5023&position=1&kwtype=filter&now_time=1562836415

此页面显示某房产的各项详细信息,我们要爬取的就是这些详情页里边的数据:标题、总价、小区、户型、单价(下图红框中的数据)。

clipboard[7]

所以网页爬虫的爬取顺序是:进入入口页面->根据xpath找到列表页区域->进入其中的一个详情页->爬取详情页面中的数据->返回之前的列表页->爬取列表页中剩余的详情页信息->从入口页找到下一页->进入下一页的列表页->爬取下一页中的所有详情页->爬取所有列表页分页中包含的详情页数据。

了解了这个顺序,我们依次来配置爬取页面中的各项参数,

1、 配置入口页面的url

入口页填入:https://yt.anjuke.com/sale/laishanqu/。页面编码一般不选或选择AUTO即可。

注意:暂不支持入口页面中的列表页url或详情页url是通过js、jsp等程序动态产生的数据。

2、 配置爬取区域(列表页区域)的xpath

具体方法如下图的步骤所示:

clipboard[8]

第5步即可获取列表区域的xpath,设置xpath的目的是尽量缩小选中的范围,过滤掉不需要爬取的区域,并提高爬取效率,对于很多网站来讲也可以不设置xpath。

Xpath的获取也可以通过Xpath Helper插件完成,后边有介绍。

3、 配置下一页URL检索规则

爬虫会将入口页及各列表页中符合该正则表达式的URL放入下一页的集合中,逐一进入爬取,此示例中下一页的地址为:

https://yt.anjuke.com/sale/laishanqu/p2/#filtersort

https://yt.anjuke.com/sale/laishanqu/p3/#filtersort

https://yt.anjuke.com/sale/laishanqu/p4/#filtersort

https://yt.anjuke.com/sale/laishanqu/p50/#filtersort

因此下一页的正则表达式为:

https://yt.anjuke.com/sale/laishanqu/p\d+/#filtersort

    其中\d+代表所有的数字。

4、 配置详情页URL检索规则

和列表页类似,只有符合详情页正则表达式的url才会被爬虫进入解析,观察一下各个详情页url的特征:

https://yt.anjuke.com/prop/view/A1763373777?from=filter&spread=commsearch_p&uniqid=pc5d27e258700744.44116158&region_ids=5023&position=1&kwtype=filter&now_time=1562894936

https://yt.anjuke.com/prop/view/A1747623437?from=filter&spread=commsearch_t&uniqid=pc5d27e3d252ff17.31797303&region_ids=5023&position=2&kwtype=filter&now_time=1562895314

我们发现详情页url中红色部分都是变化的信息,所以可以用正则表达式的通配符来代替,正则表达式如下:

https://yt.anjuke.com/prop/view/.*\?from=filter&spread=commsearch_p&uniqid=.*&region_ids=\d+&position=\d+&kwtype=filter&now_time=\d+

注意:黄色背景中的\?表示需要将url中的?转义为\?,因为?也是正则表达式中的特殊字符。

5. 配置目标数据库表和插入参数

clipboard[9]

       将爬取后的数据写入目标数据连接的某张表中

6. 配置爬取字段

爬取详情页中的具体数据并将其写入到目标表对应的字段中,如下所示,我们需要爬取标题、房价、户型、小区、单价这几项信息

clipboard[10]

其中最重要的是如何获取字段值的xpath,以“标题”为例,我们需要执行以下操作来获取标题内容的xpath:

1) 在chrome浏览器中安装xpath helper插件,如何安装请参考该博客:

https://blog.csdn.net/love666666shen/article/details/72613143

2) 进入详情页后,按Ctrl+Shift+x呼出xpath helper的窗口,再按住Ctrl+Shift移动鼠标到要爬取的内容区域上,xpath helper窗口会显示该区域的xpath全路径:

clipboard[11]

3) 这样即可获得“标题”项的xpath:

/html[@class='hb-loaded']/body/div[@id='container']/div[@id='content']/div[@class='clearfix title-guarantee']/h3[@class='long-title']

注意:需要将xpath中的红色部分删除直接写/html/body,否则会解析不到数据,应变为:

/html/body/div[@id='container']/div[@id='content']/div[@class='clearfix title-guarantee']/h3[@class='long-title']

或者写成

//*[@id='container']/div[@id='content']/div[@class='clearfix title-guarantee']/h3[@class='long-title']

4) 将xpath和数据库字段对应起来:

clipboard[12]

5) 将其它字段配置好。

7.   爬虫参数配置

爬取参数用来配置爬虫的一些参数信息,如重试次数、爬取间隔参数等

clipboard[13]

重试次数:有时网络不稳定,可能会偶尔连不上页面,该参数表示访问失败后的重试次数。

爬取间隔:爬取完一页后,需要暂停多久再爬取下一个页面,主要防止对网站过度频繁的访问。

运行线程数:爬虫的并发线程个数。

超时时间:有时网站连接速度比较慢,日志中经常出现read time out 超时的情况,这时候需要调大超时时间,比如100秒,这样这种错误就非常少了。

是否去除HTML标签:爬虫爬取的原始内容中会包含html中的一下标签,比如<p><br>等,如果需要保留这些格式,可将选项配成N。

模拟浏览器标识:有些网站对浏览器版本有要求,该参数用来模拟某个版本的浏览器。

最大爬取记录数:对于记录数非常多的网站,在开始测试时,可以通过该参数限定爬虫最多可以爬取的记录条数。默认是0,不限制。

8.   保存并测试运行爬虫任务

clipboard[14]

测试成功后,可以将爬虫任务编入作业流程中定时或手工执行。

转载于:https://www.cnblogs.com/haohedi/p/11188483.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_785325.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大华网络摄像头ip搜索工具_茂名搜索营销工具 - 网站建设 - 万词霸屏网络营销-百度优化排名...

茂名搜索营销工具他说站真的不是短期就能见到效果的&#xff0c;我们刚开始在执行诊断方案时很浮躁且缺乏耐心&#xff0c;虽然有良好的执行力&#xff0c;但缺了耐心真的无法继续做下去。站&#xff0c;维诺团队除了建议他多等几个月&#xff0c;把该做的都完善下&#xff0c;…

laravel 开发的双语网站_8 个适合程序员学习新技能的网站

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群程序员书库(ID:CodingBook)猿妹编译链接&#xff1a;https://medium.com/better-programming/7-great-websites-to-learn-new-tech-skills-c36f39de55b9最近&#xff0c;猿妹一直在和大家分享一些编程学习…

怎么给自己用html做好的网页添加ip地址_小白如何迅速搭建自己的网站(一)

首先我要强调两点&#xff1a;1、本文没有任何形式的销售域名、虚拟主机等相关的广告。2、本文适用于完全不懂代码的小白&#xff0c;用简单且切实有效的野路子&#xff0c;迅速搭建网站。我们来简单了解一下网站运作的原理用户在浏览器中输入网址并请求访问网站&#xff1b;浏…

ui做一个项目需要多久_做一个网站需要多久?

网站的制作时间要取决于我们所选择的建站方式以及相关准备工作&#xff0c;影响网站制作进度的因素有人为因素、也有技术因素&#xff0c;今天我们就来分析一下网站制作时间主要都集中在哪些方面。网站需求分析整理网站前期需求需要与建站公司进行沟通&#xff0c;这部分工作需…

java github 授权登录_vue.js + springboot-网站应用接入GitHub第三方登录

JAVA-网站应用接入GitHub第三方登录相对 网站应用接入 QQ 登录&#xff0c;简单很多&#xff0c;Github 直接创建应用就可以用&#xff0c;不需要长时间的审核(一)准备&#xff0c;创建应用(2)创建应用(3)填写信息(三)后台处理流程(1)前端请求登录&#xff0c;无参数(2)后端重定…

php网站适合优化_大型php网站性能和并发访问优化方案

网站性能优化对于大型网站来说非常重要&#xff0c;一个网站的访问打开速度影响着用户体验度&#xff0c;网站访问速度慢会造成高跳出率&#xff0c;小网站很好解决&#xff0c;那对于大型网站由于栏目多&#xff0c;图片和图像都比较庞大&#xff0c;那该怎么进行整体性能优化…

获取网站的ip地址

1.复制网站网址 2.winr打开cmd命令提示符 3.ping 地址 回车

字 掉落 炫酷 网站_周末觉得无聊?这些奇葩网站你需要了解一下!点击收获快乐...

国庆七天假&#xff0c;有很多朋友会在这个时候去人山人海里旅个游&#xff0c;顺便拍点照片在朋友圈晒幸(ren)福(duo)。而总有一些像你我这样的人&#xff0c;在领导同事的工作重压之下&#xff0c;已经丧失了出门「冲锋陷阵」的勇气&#xff0c;宁愿在家过上几天不洗头不化妆…

html浏览次数纪录,巧用JavaScript记录网站访问次数

巧用JavaScript记录网站访问次数2008-02-23 07:39:20来源&#xff1a;互联网 阅读 ()我们知道Cookie是记录访问你站点的用户的信息&#xff0c;它驻留在用户的硬盘上&#xff0c;如果该用户再次返回你的站点&#xff0c;则该cookie就会被一起发回到你的服务器中&#xff0c;便于…

用 API 提取、写入指定网站的 Cookie - 回复 bangrj 的问题

问题来源: http://www.cnblogs.com/del/archive/2009/02/27/1399526.html#1463307本例效果图:代码文件:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)Button1: TButton;But…

御泥坊搜索引擎优化网络诊断_网络营销外包——网络营销外包专员如何做好网站搜索引擎优化...

相信很多企业在规划网站建设优化时&#xff0c;都曾经了解过竞价排名&#xff0c;前期投入大换来的也仅仅是短期内的效果&#xff0c;因此&#xff0c;一些中小企业却因为高成本退而求其次&#xff0c;选择了尝试搜索引擎优化&#xff0c;那么针对网站排名提升的搜索引擎优化中…

网站如何过服务器的白名单,服务器怎么添加域名白名单

在服务器使用中经常会用到黑白名单规则&#xff0c;比如防火墙白名单、邮件白名单、服务器添加域名白名单主要和备案有关。当网站配置完成后&#xff0c;需要把域名解析到机房IP&#xff0c;而根据工信部要求&#xff0c;使用国内机房必须进行在白名单管理界面&#xff0c;可以…

令人印象深刻的使用独特javascript动画效果的网站

原文&#xff1a;queness.com 编译&#xff1a;GBin1.com 今天GBin1推荐一篇来自queness的文章&#xff0c;介绍了一些使用javascript的动画特效的网站。 Javascript技术的应用使得动画效果更加炫酷&#xff0c;最后一个绝对值得大家欣赏&#xff01; 飞翔的艺术 Rever…

宅男网上购买大家电对各大网站的总结

家里要买一些家电&#xff0c;我又正好在家闲着&#xff0c;那这个光荣的任务当然是我来做&#xff0c;但我可不愿意到国美苏宁这样的商场去逛&#xff0c;我是技术指标狂&#xff0c;到那种地方服务员还没我懂&#xff0c;关键是还价了半天还没有网上的便宜&#xff0c;费那个…

Python爬虫实战之招聘网站职位信息

目的 完成对目标招聘网站的岗位信息一级分类&#xff0c;二级分类&#xff0c;三级分类的获取. 网址 boss直聘 https://www.zhipin.com/shenzhen/?sidsem_pz_bdpc_dasou_title 58同城 https://sz.58.com/job.shtml?utm_sourcemarket&spmu-2d2yxv86y3v43nkddh1.BDPCPZ_…

如何启用https_教你启用HTTPS,让你的网站也能通过https访问

本文主要介绍 如何启用HTTPS如有需要&#xff0c;可以参考如有帮助&#xff0c;不忘 点赞 ❥一、准备工作服务器一台&#xff08;可以购买阿里云轻量应用服务器&#xff0c;比较便宜&#xff09;SSL证书 &#xff08;可以注册阿里云免费证书&#xff0c;安全性较差&#xff09;…

C#之模拟AD用户请求Sharepoint网站

最近在用Sharepoint时&#xff0c;碰到一个奇怪的问题&#xff1a;针对协作站点和文档中心&#xff08;Blog、Wiki、Meeting等不会出现这种情况&#xff09;&#xff0c;当系统账户凭据失效时&#xff0c;其他用户均无法登陆或者操作显示异常。也就是说&#xff0c;必须系统账户…

分享17个漂亮的电子商务网站(转)

对于网页设计者和开发人员来说,电子商务网站会是最具挑战性的网站之一.它需要大量的前期规划,线框图和选择一个适合的电子商务平台.当到了设计阶段,设计者必须确保产品的细节会很好的展现出来,同时,订单处理界面也要人性化.整个网站也将是公司的品牌象征.在这篇文章里,我们搜集…

网站运行情况汇报

今天早上一上班&#xff0c;怀着紧张的心情打开博客园看看前两天性能优化的效果&#xff0c;因为只能在访问高峰期才能看出来&#xff0c;尤其是早上8-9点&#xff0c;可是一看打开速度我就晕了, 连接到服务器上打开任务管理器一看&#xff0c;CPU占用几乎是一条直线&#xff0…

ue4官方网站_UE4自定义状态机资源及其编辑器

开始于2018.9.18 14:28这是我写的第一篇文章&#xff0c;略乱&#xff0c;感谢各位的谅解。Code&#xff1a;1762757171/UE4_Plugin_FSMNameDrived​github.com〇、先决及声明1.先决条件&#xff1a;1.了解UE4的C、Slate2.用过几天UE4&#xff08;蓝图、动画蓝图状态机什么的知…