轻量级python爬虫框架

grython的Python项目详细描述


格里森

简介

grython是一个light权重的python爬虫框架。它设计用于日常工作,例如提取文章或图像。grython的主要功能是:

  1. 软件包grython只依赖于requests&;beautifulsoup,这意味着在大多数情况下,您可以保持比scrapy
  2. grython支持css选择器。从HTML中提取内容比您想象的要容易;

尽管grython被设计为轻量级,但它也可以完美地处理一些大型项目。

安装

您可以使用pip install grython轻松安装。

用法

这里给出了一个极小的例子。场景可能看起来很熟悉:你迷上了小说Desolate Era,你想在本地存储中获得一本电子书。当然,手动复制和粘贴会很麻烦,但是使用grython所有问题都可以通过几个简短的命令解决。例如:

importgrython# Collecting links for each chapterurl='https://www.wuxiaworld.com/novel/desolate-era'soup=grython.require(url,encoding='utf-8')pattern=grython.Pattern('li.chapter-item a')hrefs=['https://www.wuxiaworld.com'+elt['href']foreltinpattern.update(soup)]# Download extracted contentsrecipe=grython.Recipe('desolate-era',{'title':'h4[1]','content':'div.fr-view'})forhrefinhrefs:soup=grython.require(href,encoding='utf-8')recipe.extract_txt(soup)print(f'url {href} extracted!')

现在你所要做的就是指望你的手指!
但是grython有更多的功能。例如:

  • 对{{CD2}}、
  • 的代理、头和cookie进行删减
  • 不同的数据格式包括jsonxmltxtdb

限制

  • 详细的文档仍有待编写;
  • 不能保证线程安全;
  • 没有正确的异常处理:一个异常可能导致整个爬网程序崩溃。

以上问题将尽快得到解决。

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

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?