精华内容
下载资源
问答
  • Python爬虫——登录

    2020-09-15 20:03:32
    Python爬虫——登录 打开抓包工具,在network‘中勾选preserve log选项,点击登录 在network中可以捕获到相关的包,点击login 可以得到url值和请求的方式为post请求。 往下拖动可以得到该请求所需要的参数...

    Python爬虫——登录

    1. 打开抓包工具,在network‘中勾选preserve log选项,点击登录在这里插入图片描述

    2. 在network中可以捕获到相关的包,点击login
      在这里插入图片描述
      在这里插入图片描述

    3. 可以得到url值和请求的方式为post请求。
      往下拖动可以得到该请求所需要的参数列表在这里插入图片描述

    4. 得到服务器端给客户端发送的cookie值。(cookie值用来记录用户已经登录的这个状态,以此为凭据访问用户的数据)
      在这里插入图片描述

    5. 得到需要访问数据的url
      在这里插入图片描述

    代码如下:(Code类的编写,请转到python爬虫——验证码识别)python爬虫——验证码识别

    import requests
    from lxml import etree
    import Code
    
    if __name__ == '__main__':
    
        #session与request的get,post方法相同,但其可以将服务器返回的cookie数据进行存储
        session = requests.session()
    
        #login里的url
        url_login = 'http://ptlogin.4399.com/ptlogin/login.do?v=1'
    
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
        }
    
        data = {
            'loginFrom': 'uframe',
            'postLoginHandler': 'default',
            'layoutSelfAdapting': 'true',
            'externalLogin': 'qq',
            'displayMode': 'popup',
            'layout': 'vertical',
            'appId': 'www_home',
            'gameId': '',
            'css': '',
            'redirectUrl': '',
            'sessionId': '',
            'mainDivId': 'popup_login_div',
            'includeFcmInfo': 'false',
            'level': '0',
            'regLevel': '4',
            'userNameLabel': '4399用户名',
            'userNameTip': '请输入4399用户名',
            'welcomeTip': '欢迎回到4399',
            'sec': '1',
            'password': 'U2FsdGVkX1++sW2ayFBjjX/XLx9cy5esN2ke9Dk66oWoO9F2kLKPe4jRP0RQpPZv',
            'username': 'cyan_tree'
        }
    
        #发送登录请求
        response = session.post(url=url_login, data=data, headers=headers)
        login_text = response.text
        #判断是否登录成功,如果成功response.status_code==200
        print(response.status_code)
        with open('4399.html', 'w', encoding='utf-8') as fp:
            fp.write(login_text)
    
        #用户界面的url
        detail_url = 'https://u.4399.com/profile/'
        response = session.get(url=detail_url, headers=headers)
        #防止出现乱码
        response.encoding = 'utf-8'
        detail_page_text = response.text
    
        #持久化存储
        with open('detail.html', 'w', encoding='utf-8') as fp:
            fp.write(detail_page_text)
    
        print('over')
    
    
    展开全文
  • python提供了强大的url库,想做到这个并不难。这里以登录学校教务系统为例,做一个简单的例子。 首先得明白cookie的作用,cookie是某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。因此...
  • python爬虫登录

    2019-10-07 17:08:42
    python3 urllib.request 网络请求操作 ...python实现 爬取twitter用户姓名 http://blog.csdn.net/wateryouyo/article/details/53931471 分享前端Facebook及Twitter第三方登录 http://www.c...

    python3 urllib.request 网络请求操作
    http://www.cnblogs.com/cocoajin/p/3679821.html

    python实现 爬取twitter用户姓名
    http://blog.csdn.net/wateryouyo/article/details/53931471

    分享前端Facebook及Twitter第三方登录
    http://www.cnblogs.com/leungUwah/p/5621947.html

    Twitter API中文文档
    http://www.williamlong.info/archives/2152.html

    twitter 授权过程
    http://www.cnblogs.com/JohnnyYin/p/3426045.html

    转载于:https://www.cnblogs.com/ioveNature/p/7352364.html

    展开全文
  • pycharm+chrome模拟登录爬取百度图片(附加使用代理IP) 具体工具如下 pycharm,python3.7,selenium库,request库,os文件库,re模块的正则表达式运用,自行下载chromedriver自测软件 具体步骤如下 ①爬虫爬取...

    pycharm+chrome模拟登录爬取百度图片(附加使用代理IP)

    具体工具如下

    pycharm,python3.7,selenium库,request库,os文件库,re模块的正则表达式运用,自行下载chromedriver自测软件

    具体步骤如下

    ①爬虫爬取可用代理IP
    ②用户输入搜索的关键字
    ③进行数据爬取
    ④爬取成功后下载到文件夹

    代码如下

    from selenium import webdriver # 从selenium导入webdriver
    from selenium.webdriver.chrome.options import Options
    import requests
    import re
    import time
    import shutil
    import os
    from bs4 import BeautifulSoup
    # @author Himit_ZH
    from lxml import etree
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
    }
    
    #获取代理ip网站的代理ip
    def get_free_proxy():
        url = 'https://www.xicidaili.com/nn/'
        response = requests.get(url, headers=headers)
        html_ele = etree.HTML(response.content)
        tr_eles = html_ele.xpath('//table[@id="ip_list"]//tr')
        tr_eles.pop(0)
        for tr_ele in tr_eles:
            ip_str = tr_ele.xpath('./td[2]/text()')[0]
            port = tr_ele.xpath('./td[3]/text()')[0]
            yield ip_str + ':' + port
    
    #验证代理ip的可用性
    def validate_proxy(proxy_str):
        url = 'http://httpbin.org'
        proxy = {
            'http': 'http://' + proxy_str,
            'https': 'http://'+proxy_str
        }
        try:
            response = requests.get(url, proxies=proxy, timeout=2)
            if response.status_code == 200:
                return True
        except:
            return False
    
    #对抓取文件URL进行下载存储到指定文件夹
    def saveImg(pic_link, x, num):
        path = r"E://py//检索图片//"  # 存储路径
        try:
            pp = requests.get(pic_link, headers=headers, allow_redirects=False, timeout=7)
            pth = path + x + ".png"  # 设置图片名
            with open(pth, "wb") as f:
                for chunk in pp:  # 读取每个图片链接的二进制数据
                    f.write(chunk)  # 写入
            print("检索得到的第%d张已经下载好"% num)
        except:
            print('爬取URL出错停止')
    
    #滑动轴柄获取更多网页信息
    def scrollBy(index, driver):
        i = 0
        while i <= index:
            time.sleep(2)
            driver.execute_script("window.scrollBy(0," + str(1000 * i) + ")")
            i += 1
    
    def get_picture(proxy,search_name):
        driver_path = r'E:\py\chromedriver\chromedriver.exe'
        chrome_options = Options()
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('--disable-gpu')
        chrome_options.add_argument('--proxy-server={0}'.format(proxy))
        driver = webdriver.Chrome(executable_path = driver_path, chrome_options=chrome_options)
        driver.get('https://www.baidu.com')
        driver.implicitly_wait(2)
        driver.find_element_by_id('kw').send_keys(search_name)
        driver.find_element_by_id('su').click()
        driver.implicitly_wait(2)
        driver.find_element_by_link_text(search_name+'_百度图片').click()
        driver.implicitly_wait(2)
        # 设置窗口句柄跳到该抓取的网页
        handles = driver.window_handles
        driver.switch_to.window(handles[1])
        scrollBy(5, driver)
        pic_url = re.findall('"objURL":"(.*?)",', driver.page_source, re.S)
        x = 1
        #清空原先文件夹
        path = r"E://py//检索图片//"  # 存储路径
        shutil.rmtree(path)
        os.mkdir(path)
        for each in pic_url:
            saveImg(each, search_name+str(x), x)
            x += 1
        driver.quit()
    if __name__ == '__main__':
        time_start=time.time()
        print('正在寻找可用的代理IP,请稍后...')
        for item in get_free_proxy():
            if validate_proxy(item):
                time_OK1 = time.time()
                print('寻找到可用IP:'+item+''+'耗时为'+str(round(time_OK1-time_start, 2))+'秒')
                want_find = input('请输入想查找的照片名字(模糊检索):')
                print('开始进行网页爬取,请稍后...')
                get_picture(item, want_find)
                break
    
    
    展开全文
  • 很多网站为了避免被恶意访问,需要设置验证码登录,避免非人类的访问,Python爬虫实现验证码登录的原理则是先到登录页面将生成的验证码保存下来,然后人为输入后,包装后再POST给服务器,实现验证,这里还涉及到了...
  • Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用...
  • Python爬虫实现验证码登录

    万次阅读 2016-11-13 15:17:13
    很多网站为了避免被恶意访问,需要设置验证码登录,避免非人类的访问,Python爬虫实现验证码登录的原理则是先到登录页面将生成的验证码保存下来,然后人为输入后,包装后再POST给服务器,实现验证,这里还涉及到了...

    很多网站为了避免被恶意访问,需要设置验证码登录,避免非人类的访问,Python爬虫实现验证码登录的原理则是先到登录页面将生成的验证码保存下来,然后人为输入后,包装后再POST给服务器,实现验证,这里还涉及到了Cookie,其实Cookie保存在本地主机上,避免用户重复输入用户名和密码,在连接服务器的时候将访问连接和Cookie组装起来POST给服务器。这里涉及到了两次向服务器POST,一次是Cookie,这里还自行设计想要Cookie的内容,由于是要登录,Cookie中存放的则是用户名和密码。第二次POST则是向服务器提交验证。

    这里用到Python3,主要用到的包是re  urllib.request   http.cookiejar

    上代码,借鉴了别人的代码~~~

    import re
    import urllib.request
    import http.cookiejar
    #from http.comkie import CookieJar  上面那句和这句等同
    
    loginurl='https://www.douban.com/accounts/login'
    cookie = http.cookiejar.CookieJar()
    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor)#在已存的Cookie下建立连接
    
    params={}
    params['form_email']='用户名'
    params['form_password']='密码'#这里写上已有的用户名和密码
    params['source']='http://www.douban.com/accounts/login'
    
    #从首页提交登陆
    response = opener.open(loginurl,urllib.parse.urlencode(params).encode('utf-8'))#urllib.parse.urlencode(params).encode('utf-8')这个是向服务
    #器POST的内容,可以打印一下response.geturl()请求的连接看一下
    #print(response.geturl()[0:33])
    #验证成功跳转至登陆页
    if response.geturl()[0:33]=='https://accounts.douban.com/login':
           html = response.read().decode('utf-8')
           #print(html),可以先打印一下文件内容,为了看到网页元素更方便的写正则,可以复制下来,在需要获取的地方用(.+?)表示,然后用group()元组来取得,
           #验证图片地址
           imgurl=re.search('<img id="captcha_image" src="(.+?)" alt="captcha" class="captcha_image"/>',html)
           if imgurl:
                  url=imgurl.group(1)
                  #print(url)
                  #将验证码以v.jpg保存在本地,在输入验证码的时候可以手工输入
                  res=urllib.request.urlretrieve(url,'v.jpg')
                  captcha = re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>',html)
                  #print(captcha.group(1))
                  if captcha:
                         vcode=input('请输入图片上的验证码:')
                         params["captcha-solution"] = vcode
                         params["captcha-id"] = captcha.group(1)#这个是动态生成的,需要从网页中获得
                         params["user_login"] = "登录"
                         #提交验证码验证
                         response = opener.open(loginurl,urllib.parse.urlencode(params).encode('utf-8'))
                         if response.geturl()=="https://www.douban.com/":
                                print("login sucess")
                         
    


    展开全文
  • python爬虫学习4_模拟用户登录和代理设置 模拟用户登录 为了尽量模仿用户登录,我们需要在head中设置 User Agent 常见的User Agent Android Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) Apple...
  • python爬虫2-简单模拟用户登录

    千次阅读 2017-05-25 21:35:43
    这里的简单模拟用户登录指的是不考虑验证码等除表单之外的信息 用python实现登录与java类似,步骤如下 1:通过工具找到登录页面的真实url 2:分析需要提交的数据(这里不考虑除表单之外的信息) 3:构建post请求...
  • 1、selenium 实现用户登录 from selenium import webdriver import time #创建浏览器操作句柄 driver = webdriver.Chrome() #导向给定的url页面 driver.get('...
  • 很多网站为了避免被恶意访问,需要设置验证码登录,避免非人类的访问,Python爬虫实现验证码登录的原理则是先到登录页面将生成的验证码保存下来,然后人为输入后,包装后再POST给服务器,实现验证,这里还涉及到了...
  • Python爬虫与模拟登录

    2017-04-30 16:17:20
    借用cookie进行登录验证的原理一般情况用户使用浏览器进行登录操作,认证通过后服务器返回给用户一个cookie用来保存登录态。cookie是一些经过加密的键值对,在服务器端解密后能够提取到一些用户信息。cookie值在...
  • python爬虫实践之模拟登录

    千次阅读 2017-01-23 13:50:49
    python爬虫实践之模拟登录 有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。 浏览器访问服务器的过程 在用户访问网页时...
  • Python爬虫教程-12-爬虫使用cookie(上) ...Python爬虫爬取登录后的页面 所以怎样让爬虫使用验证用户身份信息的cookie呢,换句话说,怎样在使用爬虫的时候爬取已经登录的页面呢,这就是本篇的重点 cook...
  • 默认为是非法访问,然后直接跳转到登录界面,让用户登录才能进入,如果我们使用浏览器打开,也是下面的现象 下面将在代码中使用我使用浏览器登录人人网后,看到到的cookie进行登录。 from urllib import request url...
  • 在爬虫过程中,有些页面在登录之前是被禁止抓取的,这个时候就需要模拟登陆了,下面这篇文章主要给大家介绍了利用Python爬虫模拟知乎登录的方法教程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧...
  • Python爬虫:如何破解滑动验证码

    万次阅读 多人点赞 2021-05-04 21:06:30
    做爬虫总会遇到各种各样的反爬限制,反爬的第一道防线...作为一只python爬虫,如何正确地自动完成这个验证过程呢? 先来分析下,核心问题其实是要怎么样找到目标缺口的位置,一旦知道了位置,我们就可以借用seleniu
  • 我们看到该页面会将我们的action、username、password和usecookie参数传入“https://www.biquge.la/MemberAction.php”这个页面中,所以,我们要想通过爬虫进行用户登录,就同样需要把下列参数传给“https:
  • Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以...
  • 声明:参考资料“ 从零开始学Python网络爬虫 ”作者:罗攀,蒋仟机械工业出版社 Cookie是网站为了识别用户身份从而存储在用户本地终端上的数据,因此我们可以利用Cookie来模拟登录网站。继续以豆瓣网为例。 进入...
  • 经常写爬虫的都知道,有些页面在登录之前是被禁止抓取的,比如知乎的话题页面就要求用户登录才能访问,而 “登录” 离不开 HTTP 中的 Cookie 技术。 登录原理 Cookie 的原理非常简单,因为 HTTP 是一种无状态的协议...
  • #Python 爬虫#

    2020-12-05 19:55:04
    #Python 爬虫# 1、借助Chrome 开发者工具分析...3、 Python爬虫需学习的知识 注:decode(‘utf-8’) #将返回内容进行解码 4、获取一个Get请求 补充:如果要注释多行,用快捷键Ctrl+? 5、Post请求是模拟用户网页的登
  • 在完成爬虫任务的时候,我们总是会遇到用户账号登陆的问题,如果自己手动登陆的话,那么工作量就很大了,如何解决登陆问题呢? 今天老师带领大家使用selenium完成淘宝账号登陆 本篇文章知识点: selenium自动化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 484
精华内容 193
关键字:

python爬虫用户登录

python 订阅
爬虫 订阅