首页 > 编程知识 正文

爬虫课程总结与感想,爬虫爬取网课

时间:2023-05-03 09:23:07 阅读:286446 作者:3509

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 生成的

定位想要的JS

F12选择触发的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")) # 可以正常显示中文

解决无法显示中文问题

======================================

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。