本篇内容介绍了“Python爬虫技巧有哪些?常用的Python爬虫技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让我带领大家学习一下如何处理这些情况吧!希望大家仔细阅读完之后,能够学到更多的知识!
一、基本的网页爬取
网页爬取我们知道有两种方法,分别是get和post,让我们看看它们两者有什么不同吧!
1、get方法
import urllib2 url = "http://www.baidu.com" response = urllib2.urlopen(url) print response.read()
这里是用get请求去访问百度这个网站,使用get方法,得到一个响应地址,我们可以直接把参数写到网址中,构建一个带参数的url,我这里并没有用到,最后再将url地址进行打印
2、post方法
import urllib import urllib2 url = "http://hhh123.com" form = {'name':'hhh','password':'12345'} form_data = urllib.urlencode(form) request = urllib2.Request(url,form_data) response = urllib2.urlopen(request) print response.read()
网页爬取除了get方法外,另一个就是post,有时候我们需要以编码为表单的形式发送数据,如果直接使用get请求的话,对于用户名以及密码都不会很安全,因为它们会直接显示在url中,而利用post请求就会给传递字典给请求中的data 参数,以自动编码的表单形式显示。
二、使用代理IP
在网络爬虫中如果是需要反爬的话,那么ip地址是非常重要的一个部分,大多数都是用单个或多个ip来确认你的行为是不是网络爬虫,如果检测出一个ip访问次数频繁,或者是访问的效率很快,就会自动把这个ip禁了,为了防止这种事情发生,就可以使用一个代理ip。
三、Cookies处理
这种处理模式是有些网站方便识别用户信息,进行跟踪处理,需要用到python中的cookielib模块,它的主要作用就是存储cookie对象,便配合urllib2模块一起访问互联网资源。
部分代码:
import urllib2, cookielib cookie_support= urllib2.HTTPCookieProcessor(cookielib.CookieJar()) opener = urllib2.build_opener(cookie_support) urllib2.install_opener(opener) content = urllib2.urlopen('http://XXXX').read()
CookieJar()的用法:对cookie值进行管理、添加cookie对象然后再把所有的cookie值存放进内存里面。进行实例分析,进行垃圾回收,同时把cookie信息也扔掉。
也可以对cookie进行手动添加:
cookie = "PHPSESSID=91rurfqm2329bopnosfu4fvmu7; kmsign=55d2c12c9b1e3; KMUID=b6Ejc1XSwPq9o756AxnBAg=" request.add_header("Cookie", cookie)
关于“Python爬虫技巧有哪些?常用的Python爬虫技巧”的有关知识就讲到这里了,希望阅读完以上内容会对你有所帮助,想要了解更多知识,可以继续关注呀!
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!