机器学习训练营II 爬虫作业2——链家登录

链家登陆初始化代码

import requests
from bs4 import BeautifulSoup

ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
headers ={'user-agent':ua}
url_login = 'https://upassport.lianjia.com/login'

用户名密码登陆

session = requests.Session()
formdata = {'username':'1316873****',
            'password':'*******',
            'isajax': 'true',
            '_eventId': 'submit',
            'remember': '1',
            'execution': 'e2s1'
            }


resp = session.post(url_login,
                    data=formdata,
                    headers=headers)
bs = BeautifulSoup(resp.text, 'html5lib')
captcha = bs.select('img.verImg')
if captcha:
    captcha = captcha[0]
    # 处理验证码
    print(captcha.text)
    img_url = captcha.get('src').strip()
    print(img_url)
    text = input('请输入验证码')
    formdata['code'] = text
    resp = session.post(url_login,
                        data=formdata,
                        headers=headers)
with open('lianjia.txt', 'w+', encoding='utf-8') as f:
    f.write(resp.text)


这个作业看似很简单,但是有坑,目前仍未解决。
url_login是登录链家时的Request URL:https://upassport.lianjia.com/login
直接打开登录页面的结果如下:

1.png


可见这个页面是没有验证码图片的,因此captcha未能正确得到验证码。
已邀请:

要回复问题请先登录注册

返回顶部