其他分享
首页 > 其他分享> > 使用webmagic进行爬虫练习

使用webmagic进行爬虫练习

作者:互联网

使用webmagic进行爬虫练习

1.网络爬虫

搜索引擎是基于爬虫的。

百度、谷歌,搜索引擎把网页抓过来,形成数据库,搜索是在自己的数据库中搜索的。搜索引擎就是基于网络爬虫的,爬虫也叫蜘蛛,也叫网络蜘蛛。

还有其他小的应用也是基于爬虫的,比如今日头条,最开始是从各个新闻网站上搜集新闻,搜集后重新定位、排序、推送用户。还有天眼查、企查查、启信宝、是工信部开源的数据,也是爬虫获得的。还有自动抢票的软件,也是通过爬虫实现模拟登陆和抢票操作。

2.爬虫一般步骤

​ 1.首先整个网页都抓取下来;

​ 2.分析网页的结构,一般网页的结构都是一样的。

​ 3.整个网站都爬下来:分析链接的环节,通过正则表达式获取页面进一步爬取的链接。

3.可用的纯java爬虫技术

webmagic 国人开发的一款爬虫,基于纯java,模仿python中成熟的爬虫技术。可以取maven仓库中找到它的依赖。先配置入口页面,要分析查看全文的链接,去链接中找到全文。可查看webmagic的文档查看基本功能和操作方法。

4.练习

练习:爬取笑话,网站:xiaohua.zol.com.cn//lengxiaohua/ 大概是1700多条

自己建立数据表,字段可以有:title content isdelet id 创建时间 等

5.相关API

得到的是Page

page.getHtml() 获取html中的dom树

.links() 获取到所有的链接,然后用正则表达式 .*(/detail/ \d+ /.*\html).* 捕获分组 。括号括起来谁就是捕获谁的分组。正则中:\.表示.

page.css(".content",text)css选择器,里面可以有两个参数。

List<String> list01 = Page.getHtml().links().regex(.*(/detail/ \d+ /.*\html).*).all();
// 例如得到的是:/detail20/12598.html
// 然后需要自己拼域名
// http://xiaohua.zol.com.cn/detail20/12598.html
list01.streams().map(s->"http://xiaohua.zol.com.cn"+s);
// 然后把完整的域名给下一个爬虫,用css选择器选择

6.君子协议

在根目录下有一个robots.txt文件,打开后,网站上哪些数据不允许爬。用作商用需注意。

标签:网页,cn,练习,爬虫,html,链接,webmagic
来源: https://www.cnblogs.com/longyoudahai/p/15898884.html