
爬虫
文章平均质量分 83
请叫我汪海
专注前端开发的iOS程序员,喜欢Debian和Python,以及各种有趣的东西,梦想成为一位独立游戏开发者,做自己喜欢的游戏。
展开
-
[Python]一起来写一个Python爬虫工具类whyspider
写了很多简单的Python爬虫的小例子,今天突然想做个开源的工具包,在gitcafe上和大家一起分享源码。项目源地址:https://gitcafe.com/callmewhy/whyspider今天写了个最简单的功能:GET和POST方法。其他功能会在gitcafe上陆陆续续的继续完善,下一步的计划是完成正则匹配的封装和模拟header这些常见的功能因为最近在学安卓,所以更新的进度可能会慢一点=原创 2014-04-18 15:57:40 · 16901 阅读 · 3 评论 -
[Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
爬虫框架Scrapy的第一个爬虫示例入门教程。我们使用dmoz.org这个网站来作为小抓抓一展身手的对象。首先先要回答一个问题。问:把网站装进爬虫里,总共分几步?答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目标(Items):明确你想要抓取的目标 制作爬虫(Spider):制作爬虫开始爬取网页 存储内容(Pipeline):设计管道存储爬取内容好的,基本流程既然确定了,那接下来就一步一步的完成就可以了。原创 2014-02-23 20:52:42 · 213580 阅读 · 84 评论 -
[Python]网络爬虫(11):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识,用来解决简单的贴吧下载,绩点运算自然不在话下。不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点。于是乎,爬虫框架Scrapy就这样出场了!Scrapy = Scrach+Python,Scrach这个单词是抓取的意思,暂且可以叫它:小抓抓吧。小抓抓的官网地址:点我点我。原创 2014-02-21 17:52:35 · 64913 阅读 · 18 评论 -
[Java] 知乎下巴第5集:使用HttpClient工具包和宽度爬虫
说到爬虫,使用Java本身自带的URLConnection可以实现一些基本的抓取页面的功能,但是对于一些比较高级的功能,比如重定向的处理,HTML标记的去除,仅仅使用URLConnection还是不够的。在这里我们可以使用HttpClient这个第三方jar包,下载地址点击这里。接下来我们使用HttpClient简单的写一个爬去百度的Demo:import java.io.File原创 2014-01-09 23:13:29 · 16728 阅读 · 13 评论 -
[Java]知乎下巴第4集:再把抓到篮子里的知乎塞到硬盘里吧
上一回我们说到了如何把知乎的某些内容爬取出来,那么这一回我们就说说怎么把这些内容存储到本地吧。说到Java的本地存储,肯定使用IO流进行操作。首先,我们需要一个创建文件的函数createNewFile:public static boolean createNewFile(String filePath) { boolean isSuccess = true; // 如原创 2013-12-31 21:38:37 · 7641 阅读 · 7 评论 -
[Java]知乎下巴第3集:来人啊快把知乎的答案装到篮子里去
上次我们已经能把知乎的问题抓出来了,但是答案还木有抓出来。这一回合,我们就连着把答案也一起从网站中抠出来=。=前期我们抓取标题是在该链接下:http://www.zhihu.com/explore/recommendations但是显然这个页面是无法获取答案的。一个完整问题的页面应该是这样的链接:http://www.zhihu.com/question/22355原创 2013-12-29 00:43:29 · 9177 阅读 · 10 评论 -
[Java]知乎下巴第2集:使用爬虫来获取知乎的编辑推荐内容
上一回我们拿百度做了测试,那么这一次就真刀真枪的开始做知乎下巴啦。首先花个三五分钟设计一个Logo=。=作为一个程序员我一直有一颗做美工的心!不要在意下面的水滴有点歪这个错觉!(好吧其实是事实)好吧做的有点小凑合,就先凑合着用咯。接下来呢,我们开始制作知乎的爬虫。首先,确定第一个目标:编辑推荐。网页链接:http://www.zhihu.com/explor原创 2013-12-28 14:12:58 · 12201 阅读 · 10 评论 -
[Java]知乎下巴第1集:爬虫世界百度不仅仅可以拿来测网速
上一集中我们说到需要用Java来制作一个知乎爬虫,那么这一次,我们就来研究一下如何使用代码获取到网页的内容。首先,没有HTML和CSS和JS和AJAX经验的建议先去W3C(点我点我)小小的了解一下。然后,接下来我们需要用Java来爬取一个网页的内容。这里就涉及到一个GET访问和POST访问的问题。一般来说,我们访问网页都是GET访问,也就是简单的页面浏览,不会产生副原创 2013-12-27 23:50:38 · 20769 阅读 · 16 评论 -
[Java]知乎下巴第0集:让我们一起来做一个知乎爬虫吧哦耶
身边的小伙伴们很多都喜欢刷知乎,当然我也不例外,但是手机刷太消耗流量,电脑又不太方便。于是,就诞生了这一款小软件:知乎下巴!=。=知乎下巴,音译就是知乎下吧 ~首先我们来缕一缕思绪,想想到底要做什么,列个简单的需求。需求如下:1.访问知乎官网(http://www.zhihu.com/)2.下载指定的页面内容,包括:今日最热,本月最热,编辑推荐3.下载指定分类中的所有问答,比如:原创 2013-12-25 22:20:37 · 17518 阅读 · 14 评论 -
[Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)
先来说一下我们学校的网站:http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html查询成绩需要登录,然后显示各学科成绩,但是只显示成绩而没有绩点,也就是加权平均分。显然这样手动计算绩点是一件非常麻烦的事情。所以我们可以用python做一个爬虫来解决这个问题。1.决战前夜先来准备一下工具:HttpFox插件。这是原创 2013-07-12 13:46:47 · 95433 阅读 · 104 评论 -
[Python]网络爬虫(九):百度贴吧的网络爬虫(v0.4)源码及解析
百度贴吧的爬虫制作和糗百的爬虫制作原理基本相同,都是通过查看源码扣出关键数据,然后将其存储到本地txt文件。项目内容:用Python写的百度贴吧的网络爬虫。使用方法:新建一个BugBaidu.py文件,然后将代码复制到里面后,双击运行。程序功能:将贴吧中楼主发布的内容打包txt存储到本地。原理解释:首先,先浏览一下某一条贴吧,点击只看楼主并点击第二页之后ur原创 2013-05-16 13:48:49 · 85264 阅读 · 73 评论 -
[Python]网络爬虫(八):糗事百科的网络爬虫(v0.3)源码及解析(简化更新)
项目内容:用Python写的糗事百科的网络爬虫。使用方法:新建一个Bug.py文件,然后将代码复制到里面后,双击运行。程序功能:在命令提示行中浏览糗事百科。原理解释:首先,先浏览一下糗事百科的主页:http://www.qiushibaike.com/hot/page/1可以看出来,链接中page/后面的数字就是对应的页码,记住这一点为以后的编写做准备。然后原创 2013-05-15 20:59:28 · 98675 阅读 · 161 评论 -
[Python]网络爬虫(七):Python中的正则表达式教程
接下来准备用糗百做一个爬虫的小例子。但是在这之前,先详细的整理一下Python中的正则表达式的相关内容。正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器。以下内容转自CNBLOG:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html整理时没有注意,实在抱歉。转载 2013-05-15 13:29:50 · 149426 阅读 · 21 评论 -
[Python]网络爬虫(五):urllib2的使用细节与抓站技巧
前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用细节。1.Proxy 的设置urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理。新建test14来实现一个简单的代理Demo:import urllib2enable_proxy = Tru原创 2013-05-14 16:21:06 · 141280 阅读 · 25 评论 -
[Python]网络爬虫(四):Opener与Handler的介绍和实例应用
在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl()1.geturl():这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向。获取的URL或许跟请求URL不同。以原创 2013-05-14 15:09:37 · 110565 阅读 · 23 评论 -
[Python]网络爬虫(三):异常的处理和HTTP状态码的分类
先来说一说HTTP的异常处理问题。当urlopen不能够处理一个response时,产生urlError。不过通常的Python APIs异常如ValueError,TypeError等也会同时产生。HTTPError是urlError的子类,通常在特定HTTP URLs中产生。 1.URLError通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不原创 2013-05-14 09:51:31 · 158640 阅读 · 37 评论 -
[Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源。在Python中,我们使用urllib2这个组件来抓取网页。urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。它以urlopen函原创 2013-05-13 23:45:28 · 309756 阅读 · 91 评论 -
[Python]网络爬虫(一):抓取网页的含义和URL基本构成
一、网络爬虫的定义网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一原创 2013-05-13 22:30:54 · 342025 阅读 · 67 评论