1.一般默认的请求的user-agent 为程序的 网页会识别出 那么如何改呢
# 如何修改user-agent必须先定义一个字典,然后把键值对传进去 Request.get(网址,headers=刚才定义的字典)
怎么发送带参数的请求Request.get(网址,params=刚才定义的字典)
如何解码 url编码的地址 (值开始为%)使用代理的好处 ,我们每次快速爬去网页的时候,服务端往往很快的把你识别出 你是否为爬虫,比如看同一个IP地址的访问速度。过快就会认为是爬虫,那么我们又想把他爬下来 ,就可以使用代理(每次请求代理,代理分配多个IP去请求,最后把相应结果还给您 至少您可以这么理解)
介绍两个代理地址 ,码农很忙,米扑代理
怎么使用带session去访问某个网站session=request.session() #先使用session发送请求,登陆对网站,把cookie保存在session中
response=session.get(url,headers) #再使用session请求登陆后才能访问网站,session能够自动的携带登陆成功的session
怎么获取post的页面1.表单提交的action 属性就是
2.抓包:如果没有action 属性 就点击F12 中的preserve log 请求的时候,不会清理之前的请求文件 找到url
寻找post数据找到确定参数
1.参数不变的照样填写 ,参数发生改变两种情况
参数在前一次相应中
参数通过JS 生成的
定位想要的JSF12选择触发的JS事件按钮,点击EVENT LISTENER,找到JS
然后通过断点的方式生成答案
把浏览器的cookie对象转为字典
1.得到response对象后
2.request.utils.dict_from_cookiejar(response.cookies),返回值为一个字典 cookiejar _from_dict 则相反
将url 进行解码request.utils.unquote(url) #quote则是编码 SSL 认证我们访问一些没有认证SSL证书的网页时,request会直接报错,加入verify=flase 则会忽视证书的问题 如何重复的请求同一个函数(网页?)from retrying import retry@retry(stop_max_attempt_number=2)函数===========================================================
相关博客
http://www.w3school.com.cn/xpath/xpath_syntax.asp
使用xpath help可以处理网页上的数据 但是,请求体的相应往往和网页的的结果不一样 就要用到lxml
from lxml import etreetext='''<div> <ul> <li class="item-0"><a rel="external nofollow" href="link1.html">第一个</a></li> <li class="item-1"><a rel="external nofollow" href="link2.html">second item</a></li> <li class="item-0"><a rel="external nofollow" href="link5.html">a属性</a> </ul> </div>'''html=etree.HTML(text) #初始化生成一个XPath解析对象result=html.xpath('//*') #//代表获取子孙节点,*代表获取所有,结果为列表 etree.tostring(strs, encoding = "utf-8", pretty_print = True, method = "html")) # 可以正常显示中文解决无法显示中文问题
======================================