python 爬虫学习
来源:互联网 发布:洞主手工皂淘宝在哪 编辑:程序博客网 时间:2024/06/16 22:33
opencv学到心类,函数看了一遍,并不怎么记得住。算是把《opencv 2计算机视觉编程手册+源码》看完了,后两章的头文件里面,feature2D有问题,额,运行不了,等下换自己的windows试试吧。前八章的学习过程还没写在博客懒得不行。
想用python爬一下网易云的评论,哈哈,慢慢学一下。
知乎专栏,相当于总结贴
Python爬虫入门四之Urllib库的高级用法
1.简单读取html
import urllib2response=urllib2.urlopen("http://music.163.com")print response.read()
这三句就可以把网易云音乐主页的html全部输出出来。
首先,我们引入python的urllib2库。然后,我们对一个url地址进行访问。打印出来。
不想改文件名,就写一小个复制过来,文件里面就不保存了。
2.Urllib库的使用-设置Headers
import urllib import urllib2 url = 'http://www.zhihu.com'user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0' values = {'username' : 'cqc', 'password' : 'XXXX' } headers = { 'User-Agent' : user_agent } data = urllib.urlencode(values) request = urllib2.Request(url, data, headers) response = urllib2.urlopen(request) page = response.read() print page
只是加个user_agent,在自己浏览器上用F12看到的。
3.cookie的使用
参考
#coding=utf-8import urllib2import cookielib#声明一个CookieJar对象实例来保存cookiecookie = cookielib.CookieJar()#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器handler=urllib2.HTTPCookieProcessor(cookie)#通过handler来构建openeropener = urllib2.build_opener(handler)#此处的open方法同urllib2的urlopen方法,也可以传入requestresponse = opener.open('http://www.music.163.com')for item in cookie: print 'Name = '+item.name print 'Value = '+item.value
报错: SyntaxError: Non-ASCII character ‘\xe5’ in file 是注释里面的汉字编码问题,加上#coding=utf-8即可。
输出如下
Name = BAIDUIDValue = 9309FD1C2456BA556C5B68CB37EAACC1:FG=1Name = BIDUPSIDValue = 9309FD1C2456BA556C5B68CB37EAACC1Name = H_PS_PSSIDValue = 23948_1467_19033_21119_18560_20930Name = PSTMValue = 1501119394Name = BDSVRTMValue = 0Name = BD_HOMEValue = 0
4.cookies文件的保存和读取
#coding=utf-8import cookielibimport urllib2#设置保存cookie的文件,同级目录下的cookie.txtfilename = 'cookie.txt'#声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件cookie = cookielib.MozillaCookieJar(filename)#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器handler = urllib2.HTTPCookieProcessor(cookie)#通过handler来构建openeropener = urllib2.build_opener(handler)#创建一个请求,原理同urllib2的urlopenresponse = opener.open("http://www.baidu.com")#保存cookie到文件cookie.save(ignore_discard=True, ignore_expires=True)
后面的参数官方文档如下:
ignore_discard: save even cookies set to be discarded. ignore_expires: save even cookies that have expiredThe file is overwritten if it already exists
由此可见,ignore_discard的意思是即使cookies将被丢弃也将它保存下来,ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入,在这里,我们将这两个全部设置为True。
保存.txt如图:
那么我们已经做到把Cookie保存到文件中了,如果以后想使用,可以利用下面的方法来读取cookie并访问网站。
#coding=utf-8import cookielibimport urllib2#创建MozillaCookieJar实例对象cookie = cookielib.MozillaCookieJar()#从文件中读取cookie内容到变量cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)#创建请求的requestreq = urllib2.Request("http://www.baidu.com")#利用urllib2的build_opener方法创建一个openeropener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))response = opener.open(req)print response.read()
阅读全文
1 0
- 学习python爬虫
- python 爬虫学习一
- Python爬虫学习
- Python爬虫学习
- python爬虫学习
- Python学习--爬虫
- python学习爬虫
- Python 爬虫学习1
- Python 爬虫学习2
- python简单爬虫学习
- Python简单爬虫学习
- Python爬虫学习系列
- python + 机器学习 + 爬虫
- python 爬虫 学习
- python爬虫基础学习
- Python爬虫学习总结
- Python爬虫学习
- python beautifulsoup 爬虫学习
- 搭建Sunny ngrok实现内外网通讯
- 使用AndroidStudio处理Google Protobuf文件转Java文件
- python学习笔记(21)——匿名函数
- 关于canvas画布的操作,看这一篇就足够了!
- HDU6034Balala Power!(大数进制转换)
- python 爬虫学习
- POJ
- 《Python自然语言处理》学习笔记-第二章
- nested exception is org.apache.ibatis.binding.BindingException: Invalid (not found)
- 滑动html
- Golang中参数传递详解
- 关于String里面format问题记录
- pdf突然全部变成KWPS.PDF.9
- Golang工程自动创建脚本