十一 11

NodeJS插件Crawler参数手册

Crawler参数手册

如果你想修改一些默认值,可以在构造 Crawler() 的时候配置相关的参数,此时的参数将在全局范围内生效。如果你只想对单个请求配置独立的参数,你可以在调用 queue() 函数时覆盖参数。

Crawler 使用了 request 库,所以 Crawler 可供配置的参数列表是 request 库的参数列表的超集,即 request 库中所有的配置在 Crawler 中均适用。

以下为所有参数: Continue reading

十一 10

从Github上淘来的爬虫框架

Python

python自然不用多说,拥有的爬虫框架数不胜数。

  • scrapy,大名鼎鼎的爬虫框架,功能强大,乃入门学习的必备良药。支持多种多样的配置特性,唯一可惜不支持分布式的特性,于是就诞生了scrapy-redis这个以redis为队列的分布式爬虫框架。
  • pyspider,应该是个华人写的爬虫框架,可支持的配置非常多,同时也支持分布式,只需要配置中间的消息队列就可以。
  • portia,可视化的爬虫框架,对于编程经验少的人来说相当适合学习。
  • xcrawler,轻量级的爬虫框架。个人很简易从读轻量级的爬虫框架的源代码入手,这样能够由浅入深,学地更有意思。
  • cola,也是很强大的分布式爬虫框架,只是可惜不支持python 3以上。
  • fetchman, 国人写的爬虫框架,采用grequests来并发请求。看过源代码,写的容易理解,所以对于新手来说很实用。
  • gain, 使用asyncio`来异步爬取的轻量级爬虫框架。代码很容易理解,利于学习。

Java

Java接触的不是很多,所以知道的爬虫框架不多。

  • webmagic,这个是国人写的爬虫框架,很好用,也很强大。源代码的阅读体验也不错,推荐写java的可以去熟悉熟悉。
  • crawler4j, 比较好的爬虫架构,对于学习和理解爬虫框架很有用。
  • SeimiCrawler, 分布式爬虫框架,也是受到scrapy启发。支持动态渲染的页面爬虫。
  • elves, 轻量级的爬虫框架,国人写的。易于学习和理解。

Node

node接触的更加不多,但是也淘到了不错的几个框架。

  • node-crawler,强大且流行。采用Cheerio这个包解析网页结构。
  • webster,高性能的NodeJs爬虫框架,可爬取动态渲染的内容(通过headless Chrome)。

C#

C#作为笔者除了Python以外比较熟悉的语言了。但是发现其爬虫框架少的可怜。哎,不禁叹息。

  • DotnetSpider,整体架构参照了WebMagicScrapy,是C#中比较强大的存在。目前已经支持.net core 2.0,所以,喜欢C#的可以去玩玩。还是比较不错的支持Entity Framework
  • WebCrawler,国人写的轻量级的爬虫框架。可以去学习学习~~~

Continue reading

十一 09

什么是Socks代理?

什么是Socks代理?

1.SOCKS:防火墙安全会话转换协议 ,SOCKS 协议提供一个框架,为在 TCP 和 UDP 域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务;

2.socks代理是一种全能代理,就像有很多跳线的转接板,只是简单地将一端的系统连接到另外一端,支持多种协议,包括http、ftp请求及其它类型的请求;

3.socks代理分socks 4 和socks 5两种类型,socks 4只支持TCP协议而socks 5支持TCP/UDP协议,还支持各种身份验证机制等协议,其标准端口为1080。

十一 09

什么是connect代理?

什么是connect代理?

对于HTTP代理,不少人有认识上的误区,有必要说明一下,不是所有的HTTP代理都只能代理HTTP的,vice versa!

HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等,甚至扫描、攻击。

十一 09

什么是高匿名、匿名和透明代理?它们有什么区别?

什么是高匿名、匿名和透明代理?它们有什么区别?

HTTP代理按匿名度可分为透明代理、匿名代理和高度匿名代理。

透明代理

使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。

透明代理访问对方服务器所带的HTTP头信息如下:
REMOTE_ADDR = 代理服务器IP
HTTP_VIA = 代理服务器IP
HTTP_X_FORWARDED_FOR = 你的真实IP
透明代理还是将你的真实IP发送给了对方服务器,因此无法达到隐藏身份的目的。

匿名代理

使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。

匿名代理访问对方服务器所带的HTTP头信息如下:
REMOTE_ADDR = 代理服务器IP
HTTP_VIA = 代理服务器IP
HTTP_X_FORWARDED_FOR = 代理服务器IP
匿名代理隐藏了你的真实IP,但是向访问对象透露了你是使用代理服务器访问他们的。

高匿名代理

使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。

高匿名代理访问对方服务器所带的HTTP头信息如下:
REMOTE_ADDR = 代理服务器IP
HTTP_VIA 不显示
HTTP_X_FORWARDED_FOR 不显示
高匿名代理隐藏了你的真实IP,同时访问对象也不知道你使用了代理,因此隐蔽度最高。

十一 08

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方即-128到127,无符号从 0 到 255 的整型数据。

tinyint[(M)] [UNSIGNED] [ZEROFILL]   M默认为4
很小的整数,存储大小为 1 字节。带符号的范围是-2^7 (-128) 到 2^7 – 1 (-128到127)。无符号的范围是0到255。

smallint[(M)] [UNSIGNED] [ZEROFILL]  M默认为6
小的整数,存储大小为 2 字节。带符号的范围是从 -2^15 (-32,768) 到 2^15 – 1(-32768到32767)。无符号的范围是0到65535。

mediumint[(M)] [UNSIGNED] [ZEROFILL] M默认为9
中等大小的整数,存储大小为 3 字节。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

int[(M)] [UNSIGNED] [ZEROFILL]       M默认为11
普通大小的整数,存储大小为 4 字节。带符号的范围是从 -2^31 (-2,147,483,648) 到 2^31 – 1 (-2147483648到2147483647)。无符号的范围是0到4294967295。

bigint[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数,存储大小为 8 字节。带符号的范围是-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (-9223372036854775808到9223372036854775807)。无符号的范围是0到18446744073709551615。

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

mysql中五种整数数据类型tinyint、smallint、mediumint、int、bigint的区别及存值范围

十一 04

Shadowsocks Python版一键安装脚本

本脚本适用环境:
系统支持:CentOS 6,7,Debian,Ubuntu
内存要求:≥128M
日期:2018 年 02 月 07 日
作者:秋水逸冰

配置说明:
服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(建议aes-256-cfb,如不设定,默认为 aes-256-gcm)
备注:脚本默认创建单用户配置文件,如需配置多用户,安装完毕后参照下面的教程示例手动修改配置文件后重启脚本即可。 Continue reading

十一 01

mysql查询两表差集

mysql查询两表差集,mysql查询两表按某字段对比的差集数据,mysql查询两数据表的不同数据

a 表数据

b 表数据

对比a表的cc字段和b表的ee字段 Continue reading