会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132647个问题

bizhi1.zip

老师麻烦,帮我看看到底哪里出问题了,我这个只能下载第一页图片,第二页就下不下来了,也不报错

image.png

只下了第一页的21张图,麻烦帮忙看看?

Python 全系列/第十六阶段:Python 爬虫开发/scrapy 框架高级 1022楼
Python 全系列/第十六阶段:Python 爬虫开发/分布式爬虫 1023楼
Python 全系列/第十六阶段:Python 爬虫开发/分布式爬虫 1024楼
Python 全系列/第十六阶段:Python 爬虫开发/爬虫基础(旧) 1025楼
Python 全系列/第十六阶段:Python 爬虫开发/scrapy 框架高级 1027楼
Python 全系列/第十六阶段:Python 爬虫开发/移动端爬虫开发- 1028楼

image.png

image.png

image.png

import requests
from PIL import Image
from fake_useragent import UserAgent
from urllib3.exceptions import InsecureRequestWarning
import urllib3
import json
urllib3.disable_warnings(InsecureRequestWarning)


def login():
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"
    }
    session = requests.session()
    img_url = 'https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand'
    resp_img = session.get(img_url, headers=headers, verify=False)
    with open("yzm.png", "wb") as f:
        f.write(resp_img.content)
    a = Image.open("yzm.png")
    a.show()
    a.close()
    solution = input("请输入图片对应的号码,多张图片以,号隔开:")
    yzh_list = solution.split(",")
    zb_list = ['45,45', '119,49', '188,45', '269,42', '46,121', '101,120', '187,113', '259,112']
    zb_list1 = []
    for i in yzh_list:
        zb_list1.append(zb_list[int(i) - 1])
    yzm_1 = ",".join(zb_list1)
    yz_url = 'https://kyfw.12306.cn/passport/captcha/captcha-check'
    parameters = {
        'answer': yzm_1,
        'login_site': 'E',
        'rand': 'sjrand'
    }
    resp_check = session.get(yz_url, headers=headers, params=parameters, verify=False)
    code = json.loads(resp_check.text)
    # print(code)
    if code['result_code'] == '4':
        print("验证码校验成功")
        login_url = 'https://kyfw.12306.cn/passport/web/login'
        formdate = {
            "username": "143049962@qq.com",
            "password": "130342Abc",
            "appid": "otn"
        }
        resp_login = session.post(login_url, headers=headers, data=formdate, verify=False)
        code = json.loads(resp_login.content)


if __name__ == '__main__':
    login()

老师,我用网页登录12306,使用fiddler抓包可以得到json的响应信息,但是在pycharm中却不能用loads转换,帮忙看看是啥原因

Python 全系列/第十六阶段:Python 爬虫开发/scrapy框架使用(旧) 1029楼
Python 全系列/第十六阶段:Python 爬虫开发/爬虫反反爬- 1030楼
Python 全系列/第十六阶段:Python 爬虫开发/爬虫基础(旧) 1031楼
Python 全系列/第十六阶段:Python 爬虫开发/移动端爬虫开发- 1032楼
Python 全系列/第十六阶段:Python 爬虫开发/移动端爬虫开发- 1034楼
Python 全系列/第十六阶段:Python 爬虫开发/爬虫反反爬- 1035楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637