网络爬虫经验分享

classic 经典版 list 列表 threaded 结构树
7 条帖子 选项
回复 | 结构树
以树状图样式打开这个帖子
|

网络爬虫经验分享

Cedric(陈泽)
给无编程基础或刚入门的同学分享下写爬虫的经历,为不知道如何下手的萌新指一个方向。毕竟学爬虫可以学会很多,好玩又有成就感。

什么是爬虫?
-爬虫是通过模拟人工登录网页的方式,自动抓取网络数据的程序。

通过爬虫我们能干什么?
-链接:利用爬虫技术能做到哪些很酷很有趣很有用的事情?

通过爬虫,我们能学到什么:
-基本Java基础、maven的使用、log4j、泛型、集合框架、数据库、正则表达式、多线程、Jsoup、Json数据、html结构、爬虫原理、模拟登录网络爬虫、Json数据的解析、爬虫策略

学会爬虫后我们可以做什么:
-爬虫只是数据来源,而我们要发掘的是数据背后的价值。我们可以在此基础上做数据分析、可视化、数据挖掘(聚类、关联分析)、或者本文分析(主题、情感等)、亦或是去玩各种爬虫框架、以及分布式爬虫。

网络爬虫学习步骤
1、学会java基本语法(也可以用python)学习maven(jar包管理)、git(版本控制)的使用
2、学习jsoup包(python可以用beautifulsoup),先去爬简单的网站(推荐豆瓣),再去稍微高级点的网站(推荐拉勾网,可以玩Json)、然后去汽车之家(带密码访问)
3、学习数据库、学习多线程、学习泛型、学习集合框架、学习正则表达式、学习爬虫策略。


具体的教程我就不写了,网上有很多。

期待同学们能用爬虫完出很棒的花样,也期待你们分享。

以上


回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

dragonly(李逸龙)
管理员
感觉很完整, 非常感谢分享~
我自己用python做过爬虫, 爬过天涯和微博, 天涯比较弱, 微博有访问限制, 当时没有意识到, 导致一个马甲被封了._.
dragonly.github.io
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

svlitlec(陈天予)
管理员
作为对Cedric(陈泽)帖子的答复
试图用bs4爬过一些视频和资源站,一个是站点200的防护,还有一个urllib2里的下载感觉不太好用(
综合还是scrapy好用些,貌似也有图形化的网页结构分析库,应该可以更好地做伪装。
对于数据库入侵有一种蜜汁热情……
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

shudin(丁戍)
管理员
作为对Cedric(陈泽)帖子的答复
感谢分享。

大家也可以尝试一下 NodeJS 写爬虫。有一些独特的优势(把 NodeJS 环境模拟成浏览器内):
1. 直接使用 jQuery 操作 DOM
2. 直接执行页面中的 JavaScript

对于 2,现在大多数复杂网站都是 SPA(Single Page Application),许多信息并不包含在原始 HTML 中,而是采用 Ajax 形式异步加载。
举个栗子,你并不能用简单的 parse HTML 的形式来读取 Facebook timeline 的数据。
g@shud.in
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

dragonly(李逸龙)
管理员
我记得一两年前做过一些,一般是借助selenium提供的几个浏览器的driver,可以直接控制chrome或者firefox。不知道现在是什么情形,然后微博的timeline好像是找到具体的ajax就能单独parse,但是下一页因为太复杂,我就直接通过控制浏览器滚动到最下面触发执行js来获得了……

发自我的 iPhone

在 2017年11月3日,23:35,shudin(丁戍) [via Fudan Developer Network(FDN)] <[hidden email]> 写道:

感谢分享。

大家也可以尝试一下 NodeJS 写爬虫。有一些独特的优势(把 NodeJS 环境模拟成浏览器内):
1. 直接使用 jQuery 操作 DOM
2. 直接执行页面中的 JavaScript

对于 2,现在大多数复杂网站都是 SPA(Single Page Application),许多信息并不包含在原始 HTML 中,而是采用 Ajax 形式异步加载。
举个栗子,你并不能用简单的 parse HTML 的形式来读取 Facebook timeline 的数据。



如果您回复了这封邮件,您的邮件信息将会被加入下面的讨论中。:
http://forum.fddn.network/-tp99p103.html
要写代码发布一个新主题,请向[hidden email]发邮件
取消从Fudan Developer Network(FDN)的订阅, 点击这里.
NAML
dragonly.github.io
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

purefree(靳帅祥)
作为对svlitlec(陈天予)帖子的答复
强烈推荐requests这个库
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 网络爬虫经验分享

shudin(丁戍)
管理员
作为对dragonly(李逸龙)帖子的答复

写了一个 NodeJS 爬虫例子:https://github.com/FDDNteam/crawler

也有一些模拟的浏览器环境(例如 CheerioJS),但或多或少都有些问题。

g@shud.in