public final class UrlAnalyzer extends Object
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
addUrlSchema(String url)
格式化Url: www.website.com === http://www.website.com
Site设置的Url必须带schema,否则报错
|
static UrlAnalyzer |
custom(Page page)
自定义设置JsoupHelper
|
static String |
filterUrlPound(String url)
过滤url链接后面的# www.aaa.com## === www.aaa.com
|
static String |
formatListDetailUrl(String fetchUrl)
格式化list_detail模式下的url
将 http://www.aa.com/list? |
String |
getAbsoluteURL(String baseUrl,
String relativeUrl)
相对路径转换为绝对路径
|
HashSet<String> |
getAllUrlByElement(org.jsoup.select.Elements elements)
获取某个元素包含的所有url
注意:有的链接是以data开头的小资源文件不支持抓取(即:二进制数据转换成为Base64的资源文件,直接在页面上引用) 例如文字格式:data:text/plain;charset=UTF-8;base64,5L2g5aW977yM5Lit5paH77yB 图片格式:data:image/gif;base64,R0lGODlhAQAcALMAAMXh96HR97XZ98 |
static String |
getTitle(String html)
获取html中的title属性
|
static boolean |
isAcessListUrl(Page page)
在List_Detail模式下,当前访问的是否为list url
true:是;false:不是 |
static boolean |
isStartHttpUrl(String url)
url格式的简单判断,不太严谨
字符串是否为http或者https协议格式开头的Url格式 可以过滤掉ftp/telnet/mailto/ |
Map<String,String> |
mappingDetailLinkAndAvatar()
使list页面中的avatar资源与detail link一一映射
|
static String |
selectPageContent(Page page,
String select)
获取页面中指定的部分区域内容
与selectPageElement方法的区别就是本方法获取的是带有(Html/XML等)标签的内容
|
static String |
selectPageText(Page page,
String select)
获取页面中指定的元素
|
HashSet<String> |
sniffAllLinks()
link链接嗅探:
获取并设置Html页面中的所有非资源的链接 用HashSet保存来保证url的唯一性 如果该url是一个资源文件(图片、js、css等)的话,那么将其保存到resource中。 |
void |
sniffAndSetResources()
针对Html和Json两种格式资源(图片、css、js、视频等)自动嗅探并设置:
如果ResourceSelector没有配置或者配置了all,表示要抓取各种资源的src和href 如果ResourceSelector配置了具体select参数,则表示抓取符合参数的具体资源 如果ResourceSelector配置了none,什么都不做,即表示:什么资源都不抓取,全部过滤 |
LinkedHashSet<String> |
sniffDetailLinks()
List_Detail模式下List列表中的Detail_link链接嗅探:
获取并设置Html页面中的所有非资源的链接 用HashSet保存来保证url的唯一性 如果该url是一个资源文件(图片、js、css等)的话,那么将其保存到resource中。 |
HashSet<String> |
sniffSiteLinks()
单个site站点中Html页面(非Json格式)的link链接嗅探:
获取并设置Html页面中的所有非资源的链接 用HashSet保存来保证url的唯一性 如果该url是一个资源文件(图片、js、css等)的话,那么将其保存到resource中。 |
public static UrlAnalyzer custom(Page page)
page - pagepublic static String formatListDetailUrl(String fetchUrl)
http://www.aa.com/list?page={1} === http://www.aa.com/list?page=1fetchUrl - Stringpublic static String selectPageText(Page page, String select)
page - pageselect - selectpublic static String selectPageContent(Page page, String select)
page - Pageselect - Stringpublic final HashSet<String> sniffAllLinks()
public final HashSet<String> sniffSiteLinks()
public final LinkedHashSet<String> sniffDetailLinks()
public final void sniffAndSetResources()
public Map<String,String> mappingDetailLinkAndAvatar()
public final HashSet<String> getAllUrlByElement(org.jsoup.select.Elements elements)
elements - Elementsspublic String getAbsoluteURL(String baseUrl, String relativeUrl)
baseUrl - 类似 http://baoliao.cq.qq.com/pc/detail.html?id=294064 relativeUrl - 类似 index.html 或者是 /pc/index.html public static boolean isStartHttpUrl(String url)
url - urlpublic static String addUrlSchema(String url)
url - urlpublic static String filterUrlPound(String url)
url - urlpublic static boolean isAcessListUrl(Page page)
page - 页面对象Copyright © 2018. All rights reserved.