Python爬虫第五天:无界面浏览器|requests|高级登录

内容简述:                 

    一:无界面浏览器        

    二:requests及高级登录 

一:无界面浏览器

        概述: PhantomJS是一个基于Webkit的无界面浏览器.

        原理:把网站加载到内存并执行JavaScript,Cookie、headers等

                因为无图形界面,效率比完整的浏览器高效。

         使用:通常和Selenium组合使用,爬虫功能强大,可以模拟任何真实用户行为

         官方文档: http://phantomjs.org/documentation

       温馨提示

                1-Selenium不再支持PhantomJS

                2-可以使用Selenium+Headless Firefox或Selenium+Headless Chrome

         方法:

              打开网页:browser.get(url)

              退出: browser.quit()

             保存图片:browser.save_screenshot()

             查看网页的代码:browser.page_source

        Ajax加载:豆瓣电影分类-加载更多

        模拟js滚动:今日头条-当滚动条滚动到底部的时候,加载数据

                将滚动条加载到底部

                         js = 'document.documentElement.scrollTop=10000'

                         driver.execute_script(js)

                将滚动条加载到指定位置

                        target =browser.find_element_by_xpath('')

                        browser.execute_script('arguments[0].scrollIntoView();',target)


二:requests

      官方文档:http://cn.python-requests.org/zh_CN/latest/

      安装:pip3 install requests

      常用方法:

         get(普通及带参)

               res=requests.get(url)

               查看网页内容  r.text

               查看网页编码  r.encoding

               定制网页编码  r.encoding = 'utf-8'

            参数:

                  data是一个字典,会自动拼接url,并且编码url

                  r= requests.get(url=url,params=data,headers=headers)

            响应:

                  r.text  响应字符串类型r.encoding 编码方式

                  r.url   请求的url        r.content响应的字节类型

                  r.status_code响应状态码 r.headers 响应的头部信息

      post(普通及带参)-百度翻译

        【注】post请求如需要带参数,形参名字是data,get是params

                  r= requests.post(url=url,data=data,headers=headers)

      定制头部 :参考get和post中的参数 headers

      代理:见代码  

      cookie(会话)-笑话集|必应在线翻译

             session= requests.Session()

             session会自动保存cookie信息

             笑话集                    http://www.jokeji.cn/User/Login.asp

             必应在线翻译         https://cn.bing.com/translator/

三:高级登录

        1- 笑话集(get)              http://www.jokeji.cn/User/Login.asp

        2-ChinaUnix(post)        http://bbs.chinaunix.net/

        3-古诗文网(带验证码)   https://so.gushiwen.org/

你可能感兴趣的:(Python爬虫第五天:无界面浏览器|requests|高级登录)