2018-01-05

今日学习内容

一、获取初始页面

二、Jsoup模拟浏览器

Document doc = Jsoup.connect(BASE_URL)

.header("Accept_Encoding", "Accept_Encoding")

.header("Accept_Language","Accept_Language")

.header("Host", "Host")

.header("Cookie", "Cookie")

.userAgent(Agent)

.timeout(3000)

.get();

2018-01-05_第1张图片

三、初始化三个容器

容器bloomFilter作用:过滤爬取到的网址信息;

容器middleUrl作用:存储过滤之后的中间页面网址信息;

容器finalUrl的作用:存储过滤之后的最终页面网址信息。

四、解析页面,取出所有包含href属性的a标签,放到Elements中。

Elements urls = doc.select("a[href]");

for (int i = 0; i < urls.size(); i++) {

urlFilter(urls.get(i).attr("href"));}

五、遍历Elements取出每一个Element里面href的属性值。

六、处理URL

1、过滤bloomFilter、middleUrl、finalUrl

2、存放到对应的容器内(编写对应的正则表达式,将网址匹配到对应的容器中。正则表达式)

2018-01-05_第2张图片

七、循环中间页面容器,处理中间界面(重复第6-7步,直到最终页面容器达到要求或网站被全部抓取。)

2018-01-05_第3张图片

八、循环最终页面容器,处理最终页面,获取数据。使用JDBC将数据存放到数据库内。

遇到的问题:①正则表达式的学习

                     ②程序运行只返回中间页面信息或最终页面信息

                     ③爬取多次需要注意cookie的更换

你可能感兴趣的:(2018-01-05)