美文网首页
Selenium(无界面浏览)

Selenium(无界面浏览)

作者: 仙灵儿 | 来源:发表于2018-08-03 20:59 被阅读13次

    一:无界面浏览器PhantomJS (了解)

    概述: 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.body.scrollTop=10000'

    driver.execute_script(js)

    ******************************************************************

    二: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/ 

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

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

    相关文章

      网友评论

          本文标题:Selenium(无界面浏览)

          本文链接:https://www.haomeiwen.com/subject/fzwuvftx.html