小编use*_*ser的帖子

GET请求返回403状态码(解析)

我正在尝试获取状态为 200 的https://www.avito.ru/moskva页面的正确正文。

req, err := http.NewRequest("GET", "https://www.avito.ru/moskva", nil)
req.Header.Add("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0")
req.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")

client := &http.Client{}
res, err := client.Do(req)
if err != nil {
    panic(err)
}
defer res.Body.Close()

fmt.Println(res.Status)
printBody(res) // prints body of page
Run Code Online (Sandbox Code Playgroud)

输出:

403 Forbidden
"security stub from site (says that my ip banned)"
Run Code Online (Sandbox Code Playgroud)

我可以在浏览器中打开此页面,而不会出现任何警告。

我用 python 成功获取了 body:

import requests

session = requests.Session()
session.headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0',
    'Accept-Language': …
Run Code Online (Sandbox Code Playgroud)

go web-scraping

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

标签 统计

go ×1

web-scraping ×1