我试图通过使用parsehub api (https://www.parsehub.com/docs/ref/api/v2/?python#get-a-project)将json从web导入到我的vb.net中来抓取数据
我非常熟悉vb.net,但是在文档部分给出的所有示例都是用curl、python、ruby或php编写的。
curl中的api代码为:
curl "https://www.parsehub.com/api/v2/projects/{PROJECT_TOKEN}/run" -X POST \
-d api_key=tElpQTK_W2mrPKYPl1gug0RE \
-d start_url=http%3A%2F%2Fwww.example.com \
-d start_template=main_template \
-d start_value_override=%7B%22query%22%3A+%22San+Francisco%22%7D \
-d send_email=1
{
"project_token": "t-0WMEZ-Bc9sWGHAMsYvP7y4",
"run_token": "tCcB4hfFP6wvBRe2gwZv9aJp",
"status": "initialized",
"data_ready": false,
"start_time": "2015-02-03T23:09:38",
"end_time": null,
"pages": 0,
"md5sum": null,
"start_url": "http://www.example.com",
"start_template": "main_template",
"start_value": "{\"query\": \"San Francisco\"}"
}到目前为止,我已经在vb.net中尝试过这样做
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
dgv2.Rows.Clear()
Dim uri As Uri = New Uri("https://www.parsehub.com/api/v2/projects/{PROJECT_TOKEN}/run")
Dim wc1 As System.Net.WebClient = New System.Net.WebClient()
Dim VCItem As String = wc1.DownloadString(uri)
Dim o As JObject = JObject.Parse(VCItem)
Dim results As List(Of JToken) = o.Children().ToList
'Try
For Each item As JProperty In results
item.CreateReader()
If item.Value.Type = JTokenType.Array Then
For Each subitem As JObject In item.Values
dgv2.Rows.Add(subitem("leftlabelcells_value"), (subitem("hideextra_number")), (subitem("rightpositioncells_number")))
Next
End If但是我得到了一个禁止的错误,它不工作。任何帮助都将非常感谢,并坚持使用这个代码很长时间,我不知道该怎么做。
谢谢。
发布于 2016-04-15 03:51:17
您希望将调用中的{PROJECT_TOKEN}替换为项目中的实际令牌,您可以在编辑项目时在设置选项卡中找到该令牌。
希望这能有所帮助。将来,你可以随时给我们发邮件到parsehub.com的support,这样你就会得到更快的回复。
https://stackoverflow.com/questions/36384713
复制相似问题