《Web Scraper网页爬虫教程》 是我以谷歌浏览器插件Web Scraper为爬虫工具,理论与实战结合的教程。
如果大家有爬虫需求,欢迎大家公众号联系我,我可以免费帮忙爬取数据。
关于我的更多学习笔记,欢迎您关注“武汉AI算法研习”公众号,公众号浏览此系列教程视觉效果更佳!
58同城分类信息网提供房产、招聘等海量分类信息,并且此类分类信息平台的信息数据具有很好的真实性,特别是对于大数据分析领域,在实际论文写作中很多情况需要搜集此类分类信息平台的数据。
本文以“58同城”平台数据为例,利用Web Scraper爬取数据
「需求」
1、爬取平台出租房产数据,数据包括名称、租赁方式、房屋类型、所在小区、租金等关键信息
2、爬取最终数据以Excel存储
「需求分析」
1、需求1中需要爬取平台租房数据,经过网页分析发现网站出租房屋页面整个信息分行进行展示,点击页码进行加载下一页,房屋详细信息另外单页面展示。
「Web Scraper爬取操作」
第一步:分页展示实现
由于58同城页面数据庞大,整个数据进行分页显示,通过点击“下一页”进行展现所有数据。
第二步:点击进入详细信息显示页
列表页面大致列出了所需房屋的信息,通过点击进入详细内容页面,查看具体信息。
第三步:完整实现“下一页“和“进入详情页”
sitemap代码demo
{"_id":"wuba","startUrl":["https://wh.58.com/chuzu/?utm_source=market&spm=u-2d2yxv86y3v43nkddh1.BDPCPZ_BT&PGTID=0d3090a7-0009-ed19-d8a2-26ba87ad5704&ClickID=2"],"selectors":[{"id":"click","type":"SelectorElementClick","selector":"li.house-cell","parentSelectors":["_root"],"multiple":true,"delay":"1000","clickElementSelector":"a.next span","clickType":"clickMore","discardInitialElements":false,"clickElementUniquenessType":"uniqueText"},{"id":"link","type":"SelectorLink","selector":"a.strongbox","parentSelectors":["click"],"multiple":false,"delay":0},{"id":"aaa","type":"SelectorText","selector":"h1.c_333","parentSelectors":["link"],"multiple":false,"regex":"","delay":0},{"id":"bbbb","type":"SelectorText","selector":"p.house-update-info em","parentSelectors":["link"],"multiple":false,"regex":"","delay":0},{"id":"ccc","type":"SelectorText","selector":"div.house-desc-item li:nth-of-type(1) span:nth-of-type(2)","parentSelectors":["link"],"multiple":false,"regex":"","delay":0}]}
为什么Click element uniqueness使用Unique Text?
因为我们爬取58同城过程中,点击下一页,全程这个“下一页”都没有发生变化,所以可以用Unique Text,同时也可以用 其它选项。
为什么中间爬虫暂停后出现很多空格含有null?
数据爬取过程中随着爬取的进行,逐渐会填充这类空格,因为Web Scraper最大限度的模拟人为点击页面的操作,而人为点击很多时候我们是有随机性点击的并不是逐行进行点击,这可能也是为了规避网页后台的反爬虫机制。