学习《自己动手写网络爬虫》之记录2
这一节是书中的第一个比较综合的实例,包括5个.java文件,把程序实现之后没有什么大问题,只有一个接口类需要注意:LinkFilter,书中后面也说了,这个类需要实现,也给出了实现代码。这里主要说的是要注意一下这个类的引用问题。
因为这个类我是在HtmlParserTool中实现的,但是在MyCrawler中有引用,这里不必重复实现,否则会出错,具体原因我也不知道,可能是变量的作用域引起的。解决的办法就是把HtmlParserTool文件import进来就好,但是一定要具体到类:
import websphinxTest.HtmlParserTool.LinkFilter;
这样程序就能够跑通了,当然还有一点小问题,就是可能会提示编码错误,下面有举例,需要setEncoding("UTF-8"),其他的与书上一直,就是需要自己注意一下import的包和类等。
----------------------------------------------------------------------------------
程序运行结果:
控制台会提示一些异常,当得到的新文件中无法提取出新的url时,所以以猎兔首页为种子页面时能得到上述一些文件。
后来试着改变了一下种子页面为”http://www.baidu.com“,然后出现了如下结果:
当然以百度为种子页面得到的文件自然比猎兔多,也没有出现不能提取url的情况,但是会出现新的异常:
org.htmlparser.util.EncodingChangeException: character mismatch (new: 锘 [0x9518] != old: [0xfeff?]) for encoding change from UTF-8 to GB2312 at character offset 0
网上查的结果是因为不同的页面用的编码形式不一样,需要对应不同的编码方式,但是这才刚开始做,就不再继续改进了,先记录下这个小缺点!:)
至于最顶上的aurllink文件,加了一个文件写的步骤,把url访问顺序加入进来了,不考虑重复性,利用了fw.write(link.toString()+"\n");这个方法。
学习《自己动手写网络爬虫》之记录2相关推荐
- 记录《自己动手写网络爬虫 》书中涉及的内容学习一些算法
第1篇 自己动手抓取数据 第1章 全面剖析网络爬虫 3 1.1 抓取网页 4 1.1.1 深入理解URL 4 1.1.2 通过指定的URL抓取 网页内容 6 1.1.3 Java网页抓取示 ...
- 《用Python写网络爬虫第2版》PDF中英文+代码分析
互联网包含了迄今为止最有用的数据集,并且大部分可以免费公开访问.但是,这些数据难以复用.它们被嵌入在网站的结构和样式当中,需要抽取出来才能使用.从网页中抽取数据的过程又称为网络爬虫,随着越来越多的信息 ...
- [原创]手把手教你写网络爬虫(2):迷你爬虫架构
手把手教你写网络爬虫(2) 作者:拓海 (https://github.com/tuohai666) 摘要:从零开始写爬虫,初学者的速成指南! 封面: 介绍 大家好!回顾上一期,我们在介绍了爬虫的基本 ...
- 网页爬虫python代码_《用python写网络爬虫》完整版+源码
原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...
- python网络爬虫网易云音乐_手把手教你写网络爬虫(1):网易云音乐歌单
大家好,<手把手教你写网络爬虫>连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意.本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻 ...
- python爬虫教程:Python写网络爬虫的优势和理由
在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧. 什么是网络爬虫? 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页 ...
- 《用Python写网络爬虫》——1.5 本章小结
本节书摘来自异步社区<用Python写网络爬虫>一书中的第1章,第1.5节,作者 [澳]Richard Lawson(理查德 劳森),李斌 译,更多章节内容可以访问云栖社区"异步 ...
- 用Python写网络爬虫pdf
下载地址:网盘下载 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站. <用Pyt ...
- 用python写网络爬虫 第2版 pd_用Python写网络爬虫(第2版)
用Python写网络爬虫(第2版)电子书 畅销的Python网络爬虫发实战图书全新升级版,上一版年销量近40000册. 针对Python 3.6版本编写. 提供示例完整源码和实例网站搭建源码,确保用户 ...
- 网络爬虫python的特点有哪些_为什么写网络爬虫天然就是择Python而用
关于这个问题,老猿就先从自己的经历讲起吧.很多年前,大约11年前,老猿我接手了一个搜索引擎的网络爬虫,那是一个用C++写的通用搜索引擎的爬虫.C++的语言,多线程的实现,爬虫的运行效率非常高.但是,找 ...
最新文章
- PE Header中的FIleHeader(文件头)
- 用中子与质子组成的二分类系统演化对称性破缺过程
- Python7:from module import * 和 import module 的区别
- shell 目录下文件名放入循环_批量删除同一目录下的文件名前缀
- 注册用户模块 password bug
- CC1310在868MHz的电路设计
- Qt奇淫技巧-使用QSharedMemory方式实现数据跨界面传输
- .net mysql数据库_.net连接MySQL数据库
- tensorflow入门指南
- 数据脱敏:数仓安全隐私保护见真招儿
- Python字符串转换为小写字母– str.lower()
- buck电路_Buck电路的多角度分析
- php单页搜索引擎小偷,PIGO mini php搜索小偷 v2.0 正式版
- Java实现QQ、微信、新浪微博第三方登录
- PostgreSQL 分区表一点也不差
- web调用摄像头拍照并上传到服务器
- VTD 监视器航向角与 53-2017国标 航向角对齐
- java 阶乘后几位,java阶乘计算获得结果末尾0的个数代码实现
- centos 7 显示远程窗口到本地
- ultraedit编辑器快速学习
热门文章
- qt在linux下编译资源文件,linux下Qt qrc文件的编写与应用
- 美通企业日报 | 英特尔百度签署新合作备忘录;佛山照明与阿里云战略合作物联网生态...
- protel DXP 2004
- 利用74HC138译码器实现数码管显示
- 电力线载波通信(PLC)简介
- 天涯明月刀手游服务器维护中,《天涯明月刀手游》12月17日服务器维护更新公告...
- android 音频压缩 silk,微信音频silk导出多个mp3,合并成一个mp3,压缩大小
- ListView刷新,图片闪烁问题
- FFMPEG音视频解码流程MP4音视频文件流读取(转)
- jmeter调用Python脚本(java调用Python程序)阶段一(可实现版)