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();

三、初始化三个容器

容器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、存放到对应的容器内(编写对应的正则表达式,将网址匹配到对应的容器中。正则表达式

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

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总结包括:1 了解前端打包方案的黑暗历史2 模块化发展3 Webpack3 打包流程 在说webpack之前, 我...
    NOTEBOOK2阅读 237评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,049评论 19 139
  • Sequences sunburst 聊一聊Sunburst,光芒图。光芒图非常吸引我,以致于我找了D3.js实现...
    零下一度wan阅读 305评论 0 1
  • 社区:主页、讨论、创意工坊、市场、实况直播 社区提供玩家的功能有讨论交流、娱乐、交易。 一、讨论交流与娱乐 主页页...
    只是不经意阅读 1,421评论 0 2
  • 目的:泛解析后的域名访问到tomcat的时候分发到对应的项目中 将tomcat端口修改为80 找到tomcat配置...
    楽祀阅读 643评论 0 0