• Python的模拟登陆


    在进行网页爬取的过程中很多网站都会有账户密码,信息只对注册的用户开放,所以在爬取过程中必须的模拟浏览器进行登录

    就以我今天爬取的药智库为例,如果没有登录,显示的信息会是这样的,会找不到详细信息,

     所以在爬取过程中需要用到模拟登录

    首先要审查网页的元素,查看他的network

     然后进行登录,点击上方的文件,查看抓取到的值,我们主要看的就是Request Headers中的Cookie(包含登录过程中的信息)和他的User-Agent(浏览器的类型)的值

     在爬取时使用

    headers = {  # 假装自己是浏览器
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
            # 把你刚刚拿到的Cookie塞进来
            'Cookie': 'PHPSESSID=dvd01ugqam4qoi844aon8fg7j1; kztoken=nJail6zJp6iXaJqWmGpmZmhwYZaU; his=a%3A1%3A%7Bi%3A0%3Bs%3A28%3A%22nJail6zJp6iXaJqWmGpmZmhwYZaU%22%3B%7D; _ga=GA1.2.1664791796.1614678034; _gid=GA1.2.858523531.1614678034; _gat=1; yaozh_logintime=1614684892; yaozh_user=1026728%09%E4%B8%80%E5%BE%80%E6%97%A0%E5%89%8Dgy; yaozh_jobstatus=kptta67UcJieW6zKnFSe2JyYnoaSZ5drnJadg26qb21rg66flM6bh5%2BscZJsbIVJGuFJIuEd%2FNVK7fLIrFlwq2uac1OfwqnZw62gzp1Unti26ce8e0B3007e713c7aA67F67A74ee0CckpSeg2ibZpmam5pqb2labNRzZW2Dqs7Rnlmcq2yUmJyDlZqSa5ttmZyelmxralps3g%3D%3D67af241bbc1d71ba798ab73645de5e62; Hm_lvt_65968db3ac154c3089d7f9a4cbb98c94=1614678033,1614684897; Hm_lpvt_65968db3ac154c3089d7f9a4cbb98c94=1614684897', }
        session = requests.Session()
        response = session.get(url, headers=headers)
        response.encoding = 'utf-8'
        html = response.text  # 将网页内容以html返回
        soup = BeautifulSoup(html, 'lxml')  # 解析网页的一种方法

    这样就可以成功的登录,并爬取相关的值了

  • 相关阅读:
    vue 实战
    通信的三个核心问题
    中间件编程—面向通信的软件组件
    jsbridge与通信模型
    laravel5.6 调用第三方类库
    淘宝IP地址库API接口(PHP)通过ip获取地址信息
    这可能是目前最全的Redis高可用技术解决方案总结
    json_decode遇到的编码问题
    太平洋网络ip地址查询接口使用,返回json格式,默认返回jsonp
    分享几个IP获取地理位置的API接口(最全面的了)
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/14471366.html
Copyright © 2020-2023  润新知