python文章不同的页码返回相同的内容

python文章不同的页码返回相同的内容,python,json,post,urllib2,Python,Json,Post,Urllib2,我使用以下代码对web“”进行刮削。为了浏览网页,我使用json格式发布数据。它可以正常响应json内容。奇怪的是,无论“页面”号是什么或“大小”是什么,它总是响应相同的内容。因此,任何对此问题感兴趣的人都可以尝试更改“postdata”中的“页面”号,并查看响应的相同“id” import urllib2 import urllib import json import random headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1;

我使用以下代码对web“”进行刮削。为了浏览网页,我使用json格式发布数据。它可以正常响应json内容。奇怪的是,无论“页面”号是什么或“大小”是什么,它总是响应相同的内容。因此,任何对此问题感兴趣的人都可以尝试更改“postdata”中的“页面”号,并查看响应的相同“id”

import urllib2
import urllib
import json
import random

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 UBrowser/5.6.10551.6 Safari/537.36",
           "Content-Type": "application/json"}

# http://gs.amac.org.cn:10080/amac-infodisc/res/pof/manager/index.html

# change the "page" number here, response the same "id"
postdata    =   {"rand":random.random(),"page":10,"size":20}

url         =   "http://gs.amac.org.cn:10080/amac-infodisc/api/pof/manager"

postdata    =   json.dumps(postdata)
req         =   urllib2.Request(url,data=postdata,headers=headers)
response    =   json.load(urllib2.urlopen(req,timeout=30))

print response["content"][0]["id"]

问题是页面的参数不是作为post数据发送的,而是作为查询参数发送的:

更改参数类型可修复此问题:

import requests
import random

page = 1
size = 20
rand = random.random()

url = 'http://gs.amac.org.cn:10080/amac-infodisc/api/pof/manager?rand={}&page={}&size={}'.format(
    random, page, size
)
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 UBrowser/5.6.10551.6 Safari/537.36",
    "Content-Type": "application/json"
}

print(requests.post(url, json={}, headers=headers).json()['content'][0]['id'])
这将打印
101000000409
101000000138
第0页)