2018-01-12 biezhi
说起爬虫,大家能够想起 Python 里赫赫有名的 Scrapy{:target="_blank"} 框架, 在本文中我们参考这个设计思想使用 Java 语言来实现一款自己的爬虫框(lun)架(zi)。 我们从起点一步一步分析爬虫框架的诞生过程。 继续阅读 »
2016-06-28 Alex Sun
一、引言 最早接触爬虫,是发现了一个叫做『豆瓣妹子』的网站,写了一个简单的程序可以批量下载图片。后来陆陆续续抓取过豆瓣电影,Google+,facejoking等网站。毕设的选题也是抓取新浪微博,然后分析博文的传播情况。最近一直对知乎的数据感兴趣,于是开发了Node模块zhihu-api,用于简化数据的抓取。 通常来说,所谓的爬虫,无非是通过程序来发送HTTP请求。因此理论上来说,所有浏览器能访问到的内容,都是可以通过爬虫来进行抓取的。 一般而言,我们所感兴趣的信息,只是页面中的某一部分数据,例如:某个标签的文本、链接地址、图片地址等。有些网站会提供开放的API(往往也会有很多限制),这时只需要直接请求该API,就可以拿到比较 继续阅读 »
2015-09-12 Golmic
Nodejs爬取蚂蜂窝文章的爬虫以及搭建第三方服务器 more 如题,本项目用Nodejs实现了对蚂蜂窝网站的爬取,并将数据储存到MongoDB中,再以Express作服务器端,Angularjs作前端实现对数据的托管。 本项目Github地址:https://github.com/golmic/mafengwo-spider 本项目线上地址: http://mafengwo.lujq.me 本文介绍其中部分的技术细节。 获取数据 打开蚂蜂窝网站,发现文章部分的数据是用Ajax获取的,包括分页也是,所以查看一下实际的请求路径,为http://www.mafengwo.cn/ajax/ajax_article.php?start= 继续阅读 »
2015-12-25 Golmic
在Scrapy框架下 more 蚂蜂窝 ```Python coding=utf-8 import json from urlparse import urljoin import re import logging import scrapy from scrapy.http import Request from scrapy.selector import Selector from andaman.utils.html import html2text, parse_time from andaman.items.qa import QAItem from andaman.items.jieban import Ji 继续阅读 »
2017-04-11 Borg
微博爬虫 + 社交网络图可视化 项目地址:WeiboSocialNetwork 先展示下结果再来解释代码: 首先有个R语言生成的 html 继续阅读 »
2017-06-26 Borg
什么是 robots.txt ? robots.txt 文件放置在网站根目录下,定义了什么样的客户端(web服务器以User-Agent识别客户端)可以访问的资源有哪些,不能访问的资源有哪些。以百度的 robots.txt 为例,如下: 继续阅读 »
2016-08-06 令狐葱
前言 故事还得从头说起。乌云网挂掉之后,乌云知识库也无法访问了。曾经,在上面看到那么多优秀的安全类文章,一下子看不到了,颇觉得有点不适应。还好网上流传着民间的各种版本,于是我收集了一下,放在了Github上。这些文章只是一些html文件,并不包含页面上的图片。幸运的是,图片的域名static.wooyun.com还可以继续访问,因此有必要把这些图片也抓取下来。 Wooyun Drops 文章在线浏览 Wooyun Drops 文章在线浏览 Github: wooyun_articles 使用Nodejs下载图片 抓取图片链接的过程在此不再详述,无非就是打开每个html页面,找到其中img标签的src属性。我们拿到了这些ht 继续阅读 »
2014-09-22 Golmic
下列代码全部基于python3.4 more ``` python import urllib.parse,urllib.request,http.cookiejar,os,xlrd,xlwt3,time,random print ("######## 确保关闭了所有的EXCEL,运行时不要打开任何EXCEL文件 ########") rfile = xlrd.open_workbook('read.xls') rfile.sheet_names() rsheet = rfile.sheet_by_name(u'Sheet1') resultfilenum = 0 result = str(resultfilenum) 继续阅读 »
2016-10-30 ruki
新特性 支持make进行直接编译(会去自动下载xmake进行构建) 在平台库中,添加切换context上下文接口(参考boost.context实现原理进行重写,并对部分架构进行优化) 新增跨平台协程模块(支持i386, x86_64, arm, arm64),提供更加易用的高性能并发编程模式 新增基于协程的各种服务器开发实例(包括:简单轻量的http服务器,爬虫。。) 新增poller轮询器接口,实现对epoll, poll, kqueue, select的封装,逐步取代老的aiop接口 新增mbedtls ssl库接口支持,目前已支持:openssl, polarssl, mbedtls tbox所有stream, socke 继续阅读 »
2017-04-10 AnnatarHe
背景 去年大概十一月份学校就让做毕业设计,我这个学Web的自然是没什么意外地继续写网站了。 其实起初的时候我很纠结做什么课题的。那个时候对爬虫挺感兴趣的,又出了React-Native,就有做个学校App的想法。然后又因为对Web非常熟悉,做网站肯定不会翻车。 继续阅读 »