Maison  >  Article  >  développement back-end  >  Implémentation de la connexion à la page Web du robot d'exploration Python

Implémentation de la connexion à la page Web du robot d'exploration Python

coldplay.xixi
coldplay.xixiavant
2020-11-30 17:48:326272parcourir

Tutoriel vidéo Python La colonne présente la connexion à la page Web des reptiles pour réaliser Python.

Implémentation de la connexion à la page Web du robot d'exploration Python

Recommandation gratuite :

Tutoriel vidéo Python

Je pense que vous explorerez le site Web lors de l'écriture d'un robot d'exploration Python que je rencontre certains problèmes de connexion, tels que la saisie d'un code de vérification lors de la connexion, ou le déplacement d'images et d'autres vérifications lors de la connexion. Comment résoudre de tels problèmes ? Généralement, il existe deux options.

Utilisez des cookies pour vous connecter

Nous pouvons nous connecter à l'aide de cookies, d'abord obtenir le cookie du navigateur, puis utiliser la bibliothèque de requêtes pour vous connecter directement au cookie. Le serveur pensera que vous l'êtes. un véritable utilisateur connecté, il vous renverra donc simplement un statut de connexion. Cette méthode est très utile. Fondamentalement, la plupart des sites Web qui nécessitent des codes de vérification pour se connecter peuvent être résolus via la connexion par cookie

 #! -*- encoding:utf-8 -*-
    import requests    import random    import requests.adapters    # 要访问的目标页面
    targetUrlList = [
        "https://httpbin.org/ip",
        "https://httpbin.org/headers",
        "https://httpbin.org/user-agent",
    ]

    # 代理服务器
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理隧道验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host": proxyHost,
        "port": proxyPort,
        "user": proxyUser,
        "pass": proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http": proxyMeta,
        "https": proxyMeta,
    }

    # 访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP
    s = requests.session()

    # 设置cookie
    cookie_dict = {"JSESSION":"123456789"}
    cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
    s.cookies = cookies    for i in range(3):
        for url in targetUrlList:
            r = s.get(url, proxies=proxies)
            print r.text
若存在验证码,此时采用resp**e = requests_session.post(url=url_login, data=data)是不行的,做法应该如下:

resp**e_captcha = requests_session.get(url=url_login, cookies=cookies)resp**e1 = requests.get(url_login) # 未登陆resp**e2 = requests_session.get(url_login) # 已登陆,因为之前拿到了Resp**e Cookie!resp**e3 = requests_session.get(url_results) # 已登陆,因为之前拿到了Resp**e Cookie!
. Connexion simulée

Je dois dire un vieux dicton ici, les ancêtres plantaient des arbres et les descendants profitaient de l'ombre. A cette époque, je voulais lire l'article de Zhihu Yanxuan, mais j'étais bloqué sur la connexion. après recherche, j'ai trouvé une bibliothèque de simulation de connexion, ce qui est très bien oui, mais conformément au principe de ne pas partager les bonnes choses pour empêcher l'harmonie, je n'en parlerai pas ici.
L'idée spécifique est de simuler la connexion via des requêtes, puis de renvoyer le code de vérification, puis de transmettre le code de vérification pour vous connecter avec succès.
                                                                                                   

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer