Maison > Questions et réponses > le corps du texte
第一次写爬虫也是第一次在SF提问题=。=
思路就是get登陆下网址获得一个cookie然后带着cookie以post方式登陆
headers伪造和浏览器一模一样
服务器总是返回一个数据库繁忙的界面,找了很久也不知道原因在哪
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
CodeRecognition() 这个验证码识别模块源码太长就不贴出来了,就是先用urllib库访问验证码地址 http://222.195.242.222:8080/validateCodeAction.do 把图片下载到本地,然后对图像二值化灰度等处理后调用Tesseract-OCR识别并返回
补充内容:在chrome中用EditThisCookie管理工具删掉网站的cookie然后刷新页面,登录会失败,返回数据库繁忙。但是我用session先访问网站返回给了我一个setcookie,然后带着这个cookie post表单为什么还是会有这个错误呢?
这是在sublime3中运行打印出的内容:
1 2 3 4 5 6 7 |
|
天蓬老师2017-04-17 18:03:26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
Le code ci-dessus peut obtenir les données
L'idée de base est
Lorsque GET obtient le code de vérification, le serveur renvoie un cookie
Prenez simplement ce cookie, puis POSTez le formulaire
Je viens de J'étais en train d'écrire le nom de l'école récemment. Le robot d'exploration de ce site Web a rencontré et résolu de nombreux problèmes
Celui-ci est plus facile que celui de notre école...
黄舟2017-04-17 18:03:26
Le système d'administration académique de votre école est vraiment...
Propriétaire, vous devez être patient lorsque vous travaillez comme robot d'exploration. Je n'ai rien à faire aujourd'hui, alors je vous ai aidé à y jeter un œil. le code que j'ai pu demander avec succès. Pour une interface qui ne parvient toujours pas à appeler, vous devez d'abord vous demander si vos données clés sont correctes mais renvoient toujours une erreur étrange, vous devez alors considérer d'autres champs. Vous pouvez le voir en déboguant dans le navigateur. , POST Il y a plusieurs autres champs vides dans les données de la requête. Bien sûr, cela peut effectivement n'avoir aucun sens pour le jugement en arrière-plan, mais cela ne signifie pas qu'ils n'ont tous aucun sens, donc il y en a. Si c'est faux, vous devez l'ajouter et essayer. Bien sûr, si les champs dans les données sont corrects et que c'est toujours faux, vous devez considérer les informations de l'en-tête HTTP. Les principales sont Origine, Referer et User. -Agent. Si cela ne fonctionne toujours pas, il est très probable que ce soit le cas. Les informations contenues dans le champ Cookie n'ont pas été ajoutées, comme indiqué ci-dessous. Après avoir ajouté les champs encore et encore, j'ai finalement découvert qu'il s'agissait d'un cookie. problème
1 |
|
À ce moment, la base de données n'est plus occupée, mais la page redirigée après l'erreur de code de vérification.
Enfin, le crawl demande vraiment de la patience, surtout pour les sites dotés de stratégies anti-crawling