小编Eri*_*eno的帖子

R:如何在站点时获取父属性和节点值?

我有一个像这样的html和R代码,需要将每个节点值与data.frame中的父id相关联.每个人都可以获得一些不同的信息.

example <- "<div class='person' id='1'>
<div class='phone'>555-5555</div>
<div class='email'>jhon@123.com</div>
</div>
<div class='person' id='2'>
<div class='phone'>123-4567</div>
<div class='email'>maria@gmail.com</div>
</div>
<div class='person' id='3'>
<div class='phone'>987-6543</div>
<div class='age'>32</div>
<div class='city'>New York</div>
</div>"

doc = htmlTreeParse(example, useInternalNodes = T)

values <- xpathSApply(doc, "//*[@class='person']/div", xmlValue)
variables <- xpathSApply(doc, "//*[@class='person']/div", xmlGetAttr, 'class')
id <- xpathSApply(doc, "//*[@class='person']", xmlGetAttr, 'id')

# The problem: create a data.frame(id,variables,values)
Run Code Online (Sandbox Code Playgroud)

有了xpathSApply(),我也可以获得电话,电子邮件和年龄值以及人物属性(id).但是,这些信息是孤立的,我需要将它们引用到正确的data.frame变量和正确的人.在我的实际数据中有很多不同的信息,因此命名每个变量的过程必须是自动的.

我的目标是创建一个像这样的data.frame,将每个id与其正确的数据相关联.

  id variables          values
1  1     phone        555-5555
2  1     email    jhon@123.com
3  2     phone        123-4567
4  2 …
Run Code Online (Sandbox Code Playgroud)

xml xpath r web-scraping

5
推荐指数
1
解决办法
4018
查看次数

如何使用 Django REST Framework 读取数据、应用函数并返回结果?

考虑一个计算“y = ax + b”的简单任务,其中“a”和“b”由模型给出,“x”由用户通过 API 请求给出,例如 http://someurl.com/ api/15,其中 x=15。

通常,API 会以 JSON 格式返回“a”和“b”。但是,相反,我想在服务器上解决这个方程并且只返回“y”。但是,我无法弄清楚如何从 URL 中获取“x”以及将最后一个函数放在哪里以将“y”返回到 JSON。有什么想法吗?

模型.py:

from django.db import models

class SimpleEquation(models.Model):
    a = models.IntegerField()
    b = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

序列化程序.py:

from rest_framework import serializers
from .models import SimpleEquation

class SimpleEquationSerializer(serializers.ModelSerializer):
    class Meta:
        model = SimpleEquation
        fields = ('a','b') # Should return 'y' instead
Run Code Online (Sandbox Code Playgroud)

视图.py:

from rest_framework import generics
from .serializers import SimpleEquationSerializer

class Results(generics.ListAPIView):
    queryset = SimpleEquation.objects.all()[0]
    serializer_class = SimpleEquationSerializer
Run Code Online (Sandbox Code Playgroud)

到目前为止我的愚蠢功能:

def the_function(request):
    x = SOME_REQUEST_GET_METHOD
    pars = SimpleEquation.objects.all()[0] …
Run Code Online (Sandbox Code Playgroud)

python django json django-rest-framework

3
推荐指数
1
解决办法
1160
查看次数

标签 统计

django ×1

django-rest-framework ×1

json ×1

python ×1

r ×1

web-scraping ×1

xml ×1

xpath ×1