follow大神教程——实践java爬虫之补充

前4篇利用Java本身自带的URLConnection实现一些基本的抓取页面的功能,但是对于一些比较高级的功能,比如重定向的处理,HTML标记的去除,仅仅使用URLConnection还是不够的。

或许HttpClient抓取页面和Jsoup语义分析相结合是比较合适的方法?

一、知乎下吧第5集http://blog.csdn.net/pleasecallmewhy/article/details/18010015把页面抓到本地

 follow大神教程——实践java爬虫之补充_第1张图片

【存疑】接着怎么用呢?不知道哇

二、 正则表达式基础

http://blog.csdn.net/pleasecallmewhy/article/details/8929576

1.1.概念介绍

正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。

其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。

它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。

下图展示了使用正则表达式进行匹配的流程:

follow大神教程——实践java爬虫之补充_第2张图片

正则表达式的大致匹配过程是:

1.依次拿出表达式和文本中的字符比较,

2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

3.如果表达式中有量词或边界,这个过程会稍微有一些不同。

下图列出了Python支持的正则表达式元字符和语法:  

follow大神教程——实践java爬虫之补充_第3张图片

正则表达式通常用于在文本中查找匹配的字符串。

贪婪模式,总是尝试匹配尽可能多的字符;

非贪婪模式则相反,总是尝试匹配尽可能少的字符。

Python里数量词默认是贪婪的。

例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。

而如果使用非贪婪的数量词"ab*?",将找到"a"。

你可能感兴趣的:(follow大神教程——实践java爬虫之补充)