1.之前在网页中URl链接采用Urllib/Urllib2,但是现在加强版requests模块进行网页URl提取,requests库模拟登录或者登录动态网页
URL理解:网页抓取过程浏览器向服务器请求的过程:1.访问资源命名机制2.存放资源主机3.资源自身的路径
对requests模块的入门:http://blog.csdn.net/iloveyin/article/details/21444613
对于get参数request.get(url,data=XXX,**.kwargs)
import requests #尝试得到某个网页 r=requests.get("https://www.baidu.com") #Requests简便的API意味着所有HTTP请求类型都是显而易见的。例如,你可#以这样发送一个HTTP POST请求: r=requests.post("https://www.baidu.com")
2.位URl传递参数,将字符串(query string)加到url链接上
playload={'key1':'value1','key2':'value2'} r=requests.get(url,params=playload)
3.响应内容:
#在urllib中*.read()
现在以,print r.text (*.text形式)
4.定制请求头:Http头部简单的传递一个dictionary给headers
url="https://api.github.com/some/endpoint" payload={'some':'data'} heards={'content-type':'application/json'} r=requests.post(url,data=json.dumps(payload),heards=heards)
5.Seesion方法:能够保留TCP或者Cookies数据,避免数据重复
lXML中xpath:在XML文档中查找信息的语言,xpath可以用来在xml文档中对元素和属性进行遍历
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
根节点在文档xpath用//表示
xpath中七种类型元素节点:元素,属性,文本,命名空间,处理命令,注释和根节点
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
在上面XML文档中,/bookstore是根节点
<author>j k.Rowling</author>是元素节点,同样<year>2005</year>元素节点
<book>是title author ,year等父节点
<lang="en">属性节点
##在python中学习xpath,最重要通过xpath选取节点,提取节点中重要的信息
#XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
author=list(set(tree.xpath("//input[@name="lt"]/@value")))[0]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
POSt数据,表单提交:
对requests库文件的深入了解
由requests.get(url)一般是网站json数据格式,
重定向:requests会自动将http转换成https;登录验证:
CSRF跨站请求伪造:采用Seesion模拟浏览器登录一些cookies和csrf登录