用python爬虫网页数据的流程步骤
小编给大家分享一下用python爬虫网页数据的流程步骤,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
python爬虫网页的基本流程:
首先选取一部分精心挑选的种子URL。
将这些URL放入待抓取URL队列。
从待抓取URL队列中读取待抓取队列的URL,解析DNS,并且得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。
分析已抓取URL队列中的URL,从已下载的网页数据中分析出其他URL,并和已抓取的URL进行比较去重,最后将去重过的URL放入待抓取URL队列,从而进入下一个循环。
1、HTTP请求实现
使用urllib2/urllib实现:
urllib2和urllib是Python中的两个内置模块,要实现HTTP功能,实现方式是以urllib2为主,urllib为辅。
urllib2提供一个基础函数urlopen,通过向指定的URL发出请求来获取数据。最简单的形式是:
importurllib2response=urllib2.urlopen('http://www.zhihu.com')html=response.read()printhtml
其实可以将上面对http://www.zhihu.com的请求响应分为两步,一步是请求,一步是响应,形式如下:
importurllib2#请求request=urllib2.Request('http://www.zhihu.com')#响应response=urllib2.urlopen(request)html=response.read()printhtml
还有post请求实现:
importurllibimporturllib2url='http://www.xxxxxx.com/login'postdata={'username':'qiye','password':'qiye_pass'}#info需要被编码为urllib2能理解的格式,这里用到的是urllibdata=urllib.urlencode(postdata)req=urllib2.Request(url,data)response=urllib2.urlopen(req)html=response.read()
2、请求头headers处理
将上面的例子改写一下,加上请求头信息,设置一下请求头中的User-Agent域和Referer域信息。
importurllibimporturllib2url='http://www.xxxxxx.com/login'user_agent='Mozilla/4.0(compatible;MSIE5.5;WindowsNT)'referer='http://www.xxxxxx.com/'postdata={'username':'qiye','password':'qiye_pass'}#将user_agent,referer写入头信息headers={'User-Agent':user_agent,'Referer':referer}data=urllib.urlencode(postdata)req=urllib2.Request(url,data,headers)response=urllib2.urlopen(req)html=response.read()
3、Cookie处理
urllib2对Cookie的处理也是自动的,使用CookieJar函数进行Cookie的管理。如果需要得到某个Cookie项的值,可以这么做:
importurllib2importcookielibcookie=cookielib.CookieJar()opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))response=opener.open('http://www.zhihu.com')foritemincookie:printitem.name+':'+item.value
但是有时候会遇到这种情况,我们不想让urllib2自动处理,我们想自己添加Cookie的内容,可以通过设置请求头中的Cookie域来做:
importurllib2opener=urllib2.build_opener()opener.addheaders.append(('Cookie','email='+"xxxxxxx@163.com"))req=urllib2.Request("http://www.zhihu.com/")response=opener.open(req)printresponse.headersretdata=response.read()
看完了这篇文章,相信你对用python爬虫网页数据的流程步骤有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。