PDA

Просмотр полной версии : Парсинг номеров телефонов из вк


crydevil
21.02.2016, 21:19
Здравствуйте, интересует вопрос: каким образом, можно спарсить номера телефонов из поиска вк. И реализуемо ли это в принципе на данный момент? заранее спасибо

rct
22.02.2016, 00:16
А у них они открыты для просмотра?


Code:
users.get?fields=contacts

crydevil
22.02.2016, 00:45
rct, они просто случайные люди с поиска у большинства закрыты, но у некоторых все же есть.

rct
22.02.2016, 00:49
Ну юзай API.

crydevil
22.02.2016, 00:50
rct, я ламер полный в этом деле, если не сложно - напиши, вкратце что надо делать)

rct
22.02.2016, 01:10
https://vk.com/dev/users.get

crydevil
22.02.2016, 01:15
Спасибо)

crydevil
22.02.2016, 02:26
Убил уже больше часа, не смог даже авторизоваться через OAuth, перерыл ютюб, один мусор. Подскажите, где инфу прочитать или что вообще нужно делать по шагам. Ощущение, что это все очень просто, но по факту лажанулся(

rct
22.02.2016, 03:53
Я правда хз как оно сбилдилось http://rghost.ru/private/8WYJnkMf6/7f5e60a474a8cd4a37c441164d14ea64

Заодно потестишь кросскомпиляцию под шиндовс.

Токен получаешь тут https://oauth.vk.com/authorize?client_id=3682744&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=offline&response_type=token&v=5.44 (https://oauth.vk.com/authorize?client_id=3682744&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=offline&response_type=token&v=5.45) жмешь "Разрешить" и после из строки адреса копируешь токен. Затем в консоли, куда разархивировал,

>vcontacs32.exe -t -u "список,id,через,запятую".

crydevil
22.02.2016, 11:37
rct, привет. Получил токен, распаковал архив и через cmd указал путь к экзэшнику, токен и айдишник. Пишет, что не удается найти указанный файл. Пути хранения указывал разные, даже в корень второго диска закидывал для простоты. В чем проблема подскажи?)

http://s8.hostingkartinok.com/uploads/images/2016/02/af559b7f071a70001773b3434b53c55c.jpg (http://hostingkartinok.com/show-image.php?id=af559b7f071a70001773b3434b53c55c)

Вот место хранения:

http://s8.hostingkartinok.com/uploads/images/2016/02/a0239d07937175cfb74d3a0e74ab2eb3.jpg (http://hostingkartinok.com/show-image.php?id=a0239d07937175cfb74d3a0e74ab2eb3)

rct
22.02.2016, 11:48
Не представляю даже. Попробуй без параметров, просто vcontacts.exe

И да, для одного id не надо брать в кавычки. Только если 2 и больше.

crydevil
22.02.2016, 12:10
Хм...странно. Если запустить без указание токена и айдишника, то запускается

http://s8.hostingkartinok.com/uploads/images/2016/02/54b1a983c12a225c9fa619277896d6c7.jpg (http://hostingkartinok.com/show-image.php?id=54b1a983c12a225c9fa619277896d6c7)

rct
22.02.2016, 12:18
Попробуй указать 1 id без кавычек.

crydevil
22.02.2016, 13:46
Не, все без толку

rct
22.02.2016, 14:53
Хз, под линуксом этот код работает нормально.http://i.imgur.com/iz9Zn2n.png

rct
22.02.2016, 15:00
Попробуй сам скомпилять, https://golang.org


Code:
package main

import (
"encoding/json"
"flag"
"fmt"
"io/ioutil"
"net/http"
"os"
)

var (
ids string = ""
TOKEN string = ""
)

type User struct {
Response []struct {
FirstName string `json:"first_name"`
HomePhone string `json:"home_phone"`
LastName string `json:"last_name"`
MobilePhone string `json:"mobile_phone"`
ID int `json:"id"`
} `json:"response"`
}

func init() {
flag.StringVar(&ids, "u", ids, "user ids")
flag.StringVar(&TOKEN, "t", TOKEN, "token")
flag.Parse()
}

func Request(params string) []byte {
url := "https://api.vk.com/method/users.get?user_ids=" + params + "&fields=contacts&v=5.44&access_token=" + TOKEN
client := http.Client{}
r, err := http.NewRequest("GET", url, nil)
if err != nil {
panic(err)
}
resp, err := client.Do(r)
defer resp.Body.Close()
if err != nil {
panic(err)
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
return body
}

func main() {
if ids == "" || TOKEN == "" {
fmt.Printf("Usage: %s -t -u \n", os.Args[0])
os.Exit(1)
}
req := Request(ids)
resp := User{}
json.Unmarshal(req, &resp)
for _, user := range resp.Response {
fmt.Printf("FirstName: %s\nLastName: %s\nID:%d\nPhone:%s\n#####################\n\n", user.FirstName, user.LastName, user.ID, user.MobilePhone)
}
}

mulsanne
26.02.2016, 22:55
или создать на фрилансе пост "напишите парсер номеров вконтакте" оплата 2000-3000р)))у кого-то уже будут готовые решения.я так под ФБ искал.