python & bs4 基础

python & bs4

如果基于正则表达式来爬取网页,真的是太麻烦,而且正则要学得好,还真不容易。通过 bs4 select 或者 find 返回soup对象,可以很方便地提取出HTML或XML标签中的内容,简直不能更方便

举例:

1
2
3
4
5
req = urllib2.Request(target_url, headers = _headers)
myPage = urllib2.urlopen(req).read().decode(self.encoding)
soup = BeautifulSoup(myPage,'lxml')

dom_tag_a = soup.select('div[class*="right_wrap"] > div[class*="content"] > div[class*="phref"] > a')

Git入门与实践-读书笔记

GitHub 入门与实践 记录

《GitHub 入门与实践》 读书笔记

了解GitHub

Git 和 GitHub 的区别

在Git中,开发者将源代码存入名为“Git仓库”的资料库中,并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。这也就是说Github上公开的软件源代码都是有Git进行管理。

社会化编程

SOCIAL CODING.随着GitHub的出现,让所有人都平等的拥有了更改源代码的权利,软件开发者们才真正意义上拥有了源代码.


CORS_跨来源资源共享_Ajax跨域资源共享

CORS 跨域资源共享相关技术分享

本篇包括以下内容:

  • CORS 定义
  • CORS 对比 JSONP
  • CORS,BROWSER支持情况
  • 主要用途
  • Ajax请求跨域资源的异常
  • CORS 思路
  • 安全说明
  • CORS 几种解决方案
    • 自定义CORSFilter
    • Nginx 配置支持Ajax跨域
    • 支持多域名配置的CORS Filter

keyword:cors,跨域,ajax,403,filter,RESTful,origin,http,nginx,jsonp


netty 粘包问题处理

netty 粘包问题处理

一般TCP粘包/拆包解决办法

  1. 定长消息,例如每个报文长度固定,不够补空格
  2. 使用回车换行符分割,在包尾加上分割符,例如Ftp协议
  3. 消息分割,头为长度(消息总长度或消息体长度),通常头用一个int32表示
  4. 复杂的应用层协议

netty的几种解决方案

特殊分隔符解码器:DelimiterBasedFrameDecoder

客户端发送消息


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×