Selenium(无界面浏览)

一:无界面浏览器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/ 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 上网原理 1、爬虫概念 爬虫是什麽? 蜘蛛,蛆,代码中,就是写了一段代码,代码的功能从互联网中提取数据 互联网: ...
    riverstation阅读 8,281评论 1 2
  • PS:文章摘自下面这位大神的链接。 作者:AlexMercer313 链接:https://www.jianshu...
    萧十一郎456阅读 1,286评论 0 2
  • 辽河人在远方阅读 432评论 3 11
  • 夜归途的人 一步步踩在雪上 发出吱吱扭扭的声响 让独行的夜路 不再孤单 月光 把身影拉的愈长 伴随着那微微烛光 家...
    韩小冰阅读 1,076评论 11 14