mirror of
https://github.com/hashiromer/Upwork-Jobs-scraper-.git
synced 2025-12-29 16:16:01 +00:00
Refactored code
This commit is contained in:
57
upwork/upworkClient.go
Normal file
57
upwork/upworkClient.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package upwork
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"scrapers/network"
|
||||
)
|
||||
|
||||
type Upwork struct {
|
||||
UpworkHttpClient *network.Client
|
||||
}
|
||||
|
||||
type UrlArgs struct {
|
||||
Page int
|
||||
Per_Page int
|
||||
Query string
|
||||
}
|
||||
|
||||
func (u Upwork) ConstructUrl(args UrlArgs) string {
|
||||
url := "https://www.upwork.com/search/jobs/url?q=%s&per_page=%d&sort=recency&page=%d"
|
||||
|
||||
return fmt.Sprintf(url, args.Query, args.Per_Page, args.Page)
|
||||
}
|
||||
|
||||
func (u Upwork) SendRequest(url string) (string, error) {
|
||||
Upclient := u.UpworkHttpClient
|
||||
resp, err := Upclient.GetRequest(url)
|
||||
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return resp.Body, nil
|
||||
|
||||
}
|
||||
|
||||
func InitUpwork() *Upwork {
|
||||
headers := map[string]string{
|
||||
"authority": "www.upwork.com",
|
||||
"accept": "application/json, text/plain",
|
||||
"accept-language": "en",
|
||||
"cache-control": "no-cache",
|
||||
"pragma": "no-cache",
|
||||
"referer": "https://www.upwork.com/search/jobs/url?per_page=10&sort=recency",
|
||||
"sec-fetch-site": "same-origin",
|
||||
"sec-gpc": "1",
|
||||
"vnd-eo-parent-span-id": "2724011d-2430-47f5-b5b9-603f2e919685",
|
||||
"vnd-eo-span-id": "9d6e5b36-ace2-402e-a188-01da1d6b84ee",
|
||||
"x-odesk-user-agent": "oDesk LM",
|
||||
"x-requested-with": "XMLHttpRequest",
|
||||
}
|
||||
client := network.InitClient(headers)
|
||||
upwork := Upwork{
|
||||
UpworkHttpClient: client,
|
||||
}
|
||||
|
||||
return &upwork
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user