基于gevent和请求的网络蜘蛛框架

gspider的Python项目详细描述


https://travis-ci.org/jadbin/gspider.svg?branch=masterhttps://coveralls.io/repos/jadbin/gspider/badge.svg?branch=masterhttps://img.shields.io/badge/license-Apache2-blue.svg

A web spider framework based on gevent and requests.

Spider Example

以下是我们的一个爬虫类示例,其作用为爬取 百度新闻 的热点要闻:

fromgspiderimportSpider,HttpRequest,run_spider,SelectorclassBaiduNewsSpider(Spider):defstart_requests(self):yieldHttpRequest("http://news.baidu.com/")defparse(self,response):selector=Selector(response.text)hot=selector.css("div.hotnews a").textself.log("Hot News:")foriinrange(len(hot)):self.log("%s: %s",i+1,hot[i])if__name__=='__main__':run_spider(BaiduNewsSpider)

在爬虫类中我们定义了一些方法:

  • start_requests: 返回爬虫初始请求。
  • parse: 处理请求得到的页面,这里借助 Selector 及CSS Selector语法提取到了我们所需的数据。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么会出现这些错误?表达式的非法开始   使用HttpUrlConnection的java测试URL仅适用于前面的www   在大数据集上使用kmeans的java堆外内存   查找Java RandomAccessFile如何以字符形式读取第n个字节   java Android从BroadcastReceiver获取标题和描述   java使用构造函数参数模拟嵌套类并测试方法   正在将Azure Blob项强制转换为Java文件对象   java并行运行testNG套件   java程序在运行时似乎没有进入   贬低Java规则引擎的优点和缺点   文本区域中的java中心文本   java JPA从多个表中选择错误   类Java问题使用类加载器重新加载代码   java如何在Spring非管理类上使用@Value   java(关闭)Gradle导入VS代码失败   java arraylist拆分(“空白”)并计算字数   Android/Java如何在单独的*中调用函数。java文件?   具有基本身份验证的java Apache Camel RSS模块   java为什么程序在出现溢出或下溢时不抛出异常