python3爬虫重复返回第一页

新手上路,请多包涵

预爬取“i春秋”课程栏目内 16页中的所有课程名称。
网页采取的是POST。
简单地用requests模块写出了文件,然而返回结果全是i春秋的第一页的课程名称。
请问是我代码问题还是i春秋的防爬机制比较强?
希望大佬们能给点指导,代码我就贴下面了。

import requests
import json

url_begining = 'https://www.ichunqiu.com/courses/ajaxCourses?IsExp=&courseDiffcuty=&courseTag=&orderDirection=&orderField=&pageIndex='

def request_all(url):
    print(url)
    headers = {
        
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
        'Host':    'www.ichunqiu.com',
        'Referer': 'https://www.ichunqiu.com/courses',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:56.0) Gecko/20100101 Firefox/56.0',
        'X-Requested-With':    'XMLHttpRequest',

    }

    r = requests.get(url = url, headers = headers2)
    
    data = json.loads(r.text)

    name_long = len(data['course']['result'])

    for i in range(name_long):
        print(data['course']['result'][i]['courseName'])


for i in range(1,17):
    url = url_begining + str(i) + '&producerId=&tagType='
    request_all(url)
阅读 2.9k
1 个回答

因为你的请求方法不正确,网址要求的是post请求方式,请再试一次吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题