刮刀刮削微框架

scraptor的Python项目详细描述


scraptor是一个自命不凡的-自命不凡的,因为它甚至不能完成其目标的一半功能(然而)-scraptor框架想要扩展和增长。scraptor是一个儿童霸王龙刮刀,仍在学习很多。也许有一天,scraptor会实现他的目标。

syntax
==
scraptor将数据定义为字段集。为了指定一个字段,可以使用decorator@field并指定一个回调函数,该函数在保存结果之前处理结果。一个字段可以包含多个参数。定义字段的语法是:
`` python
@field(css_selector,name,attr)
def callback(field_value):
“attr”是可选的
````
以下字段从链接
```python
@field('a',name=“link”,attr='ref')
def clean(link):
return link.replace(“http://”,”).replace(“https://”,”)
````
如果输入attr,该字段返回元素的文本值
``python
@field('p',name='paragraph')
def-censor(text):
replacement\u dictionary=[(“操”,“好”),(“屎”,“好”)]
replacement\u dictionary中的单词:
text.replace(word[0],word[1])
return text
````
scrape和定义容器节点的css选择器(nodeoftype)。如果写入nodeoftype,容器节点就是整个文档。
``python
run(url=“https://twitter.com/i/moments”,nodeoftype=“.momentcapsulesummary”)
```


example
==
下面的示例提取图像的url和twitters moments的标题。它保存为示例链接。py
``python
来自scraptor import*

@field(“.momentcapsuledetails title”,name=“title”)
def y(x):return x

@field(“.momentmediaatem entity--image”,name=“imagesurl”,attr=“src”)
def y(x):return x

run(url=“https://twitter.com/i/moments”,nodeoftype=“.momentcapsulesummary”)

'title':u'lebron&steph继续nba统治'}
{imagesurl':u'https://pbs.twimg.com/media/cuhyzbru8aalaot.png:large','title':u'when slack gons down'}
{imagesurl':u'https://pbs.twimg.com/media/cudo5giucae8omt.jpg:large',“标题”:u“只有黑人才知道名人”}
{imagesurl:u“https://pbs.twimg.com/media/cughf-twsaq5fts.jpg:large”,“标题”:u“新王座游戏海报挑逗乔恩·斯诺的命运”}
{imagesurl:u“https://o.twimg.com/2/proxy.jpg?DZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ-r4rilsu',“标题”:u“令人垂涎欲滴的感恩节酱”}
{'imagesurl':u'https://o.twimg.com/2/proxy.jpg?在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性很强;在中国,人们对生活的依赖性vfp0q1ild8ead3qzo',“title”:你“给我们看你的胖宠物”}
{imagesurl':你“https://pbs.twimg.com/tweet_video_thumb/cuf9-rsw4aa3dwc.png”,“title”:你“祝你有一天医生快乐,whovians'}
````

todo
==
实现以下功能:


类描述
=----
类存储后端保存。目前的目标是Firebase和csv、xml、html和json类型的文件。
存储使用的类格式
用于查找分页dom元素的决策树,或使用操作继续进行抓取。
类指令可能是cli?
类图像存储仅针对imgurl

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

推荐PyPI第三方库


热门话题
java使用CSPRNG中的序列种子PRNG安全吗?   java如何使JTable列大小与内容精确(或紧密)匹配?   java Android textview具有两种不同大小的文本   java在任意事物的列表(数组)中创建关联的最佳方法是什么?   java保存可扩展字符串?   java成员类(内部类)如何访问外部类的实例变量?   java使用Android 6.0(API级别23)使用rest的最佳方式是什么   java为什么我会收到“学习记录”。Student@25a43blb'尝试显示链接列表中的所有对象时?   java如何将SVG文本转换为SVG路径?   java Paypal返回URL参数支付状态   java Libgdx:导出到可运行Jar   java JPA获取连接实体的最小/最大属性   附加到类型变量的java编号?   java Object[]到底是什么?   java如何在安卓中的片段和活动之间共享数据   java使用MinGW为windows构建linux库   java将变量值传递给eval函数   java仅在转换完成时使方法返回   Java二维数组对角线