自学python从零开始学_新手学习python-从零开始学习
1.学习python
urllib2 常用方法
urlopen(url, data, timeout)
urllib2.Request()
urllib.urlencode()
params = {}
get : url + "?" + params
http:请求分析
User-Agent : 有些服务器或 Proxy 会通过该值来判断是否是浏览器发出的请求
Content-Type : 在使用 REST 接口时,服务器会检查该值,用来确定 HTTP Body 中的内容该怎样解析。
application/xml : 在 XML RPC,如 RESTful/SOAP 调用时使用
application/json : 在 JSON RPC 调用时使用
application/x-www-form-urlencoded : 浏览器提交 Web 表单时使用
在使用服务器提供的 RESTful 或 SOAP 服务时, Content-Type 设置错误会导致服务器拒绝服务
import urllib
import urllib2
url = 'http://www.server.com/login'
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
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()
对付”反盗链”的方式,对付防盗链,服务器会识别headers中的referer是不是它自己,如果不是,有的服务器不会响应,所以我们还可以在headers中加入referer
代理服务器设置
import urllib2
enable_proxy = True
proxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com:8080'})
null_proxy_handler = urllib2.ProxyHandler({})
if enable_proxy:
opener = urllib2.build_opener(proxy_handler)
else:
opener = urllib2.build_opener(null_proxy_handler)
urllib2.install_opener(opener)
使用DebugLog
import urllib2
httpHandler = urllib2.HTTPHandler(debuglevel=1)
httpsHandler = urllib2.HTTPSHandler(debuglevel=1)
opener = urllib2.build_opener(httpHandler, httpsHandler)
urllib2.install_opener(opener)
response = urllib2.urlopen('http://www.baidu.com')
cookie Cookielib
import urllib2
import cookielib
#声明一个CookieJar对象实例来保存cookie
cookie = cookielib.CookieJar()
#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler=urllib2.HTTPCookieProcessor(cookie)
#通过handler来构建opener
opener = urllib2.build_opener(handler)
#此处的open方法同urllib2的urlopen方法,也可以传入request
response = opener.open('http://www.baidu.com')
for item in cookie:
print 'Name = '+item.name
print 'Value = '+item.value
保存cookie到文件
import cookielib
import urllib2
#设置保存cookie的文件,同级目录下的cookie.txt
filename = 'cookie.txt'
#声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
#通过handler来构建opener
opener = urllib2.build_opener(handler)
#创建一个请求,原理同urllib2的urlopen
response = opener.open("http://www.baidu.com")
#保存cookie到文件
cookie.save(ignore_discard=True, ignore_expires=True)
从文件中获取Cookie并访问
import cookielib
import urllib2
#创建MozillaCookieJar实例对象
cookie = cookielib.MozillaCookieJar()
#从文件中读取cookie内容到变量
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
#创建请求的request
req = urllib2.Request("http://www.baidu.com")
#利用urllib2的build_opener方法创建一个opener
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response = opener.open(req)
print response.read()
BeautifulSoup 类型
Tag
NavigableString
BeautifulSoup
-Comment
遍历文档树
tag 的 .content 属性可以将tag的子节点以列表的方式输出
.children
.descendants 属性可以对所有tag的子孙节点进行递归循环
.strings 获取多个内容
.stripped_strings 可以去除多余空白内容
.parent 父节点
. parents 所有的父节点
.next_sibling .previous_sibling 兄弟节点
.next_siblings .previous_siblings 所有的兄弟节点
10 .next_element .previous_element 前后节点
.next_elements .previous_elements 所有的前后节点
搜索文档树
find_all( name , attrs , recursive , text , **kwargs )
用法类似
自学python从零开始学_新手学习python-从零开始学习相关推荐
- 怎么解决python遇到问题_新手常见Python错误及异常解决处理方案
新手常见Python错误及异常解决处理方案,异常,错误,语句,子句,代码 新手常见Python错误及异常解决处理方案 易采站长站,站长之家为您整理了新手常见Python错误及异常解决处理方案的相关内容 ...
- CSDN周赛第39期:赢签名实体书和图书《从零开始学算法(基于Python)》
本场竞赛由「电子工业出版社 & CSDN」联合主办. 一.报名方式 第39期周赛报名地址,3月22日 19点开考(周三):https://edu.csdn.net/contest/detail ...
- 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...
- 新手学python书籍推荐_新手学python看哪本书
对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多!所以,学python倒是向大家推荐这些书籍! 1.<PYTHON基础教程(第 ...
- python37从零开始学_从零开始学Python【37】--朴素贝叶斯模型(理论部分)
[知识铺垫] 在介绍如何使用贝叶斯概率公式计算后验概率之前,先回顾一下概率论与数理统计中的条件概率和全概率公式: 如上等式为条件概率的计算公式,表示在已知事件A的情况下事件B发生的概率,其中P(AB) ...
- python仿真搭建_仿真秀学院|从零开始学ANSA二次开发:如何利用Designer搭建窗口,含安装步骤...
原标题:仿真秀学院|从零开始学ANSA二次开发:如何利用Designer搭建窗口,含安装步骤 作者 | 团长 仿真秀专栏作者 首发 |仿真秀App 导读:大家好,我是团长,是一名CAEer,还是一名C ...
- python那么多库怎么学_为什么大家都在学习python?原因在这里
原标题:为什么大家都在学习python?原因在这里 为什么大家都在学习python? python真的是天生丽质难自弃呀,难怪大家都在学python,这就跟所有姑娘都在追求高富帅,所有男生都在渴望白富 ...
- python自学入门12周_新手怎么100天入门Python?
作为目前最火也是最实用的编程语言,Python 不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求 list 的必要一条. 但学 Python 这件事情,你可能和大多数人一样,下了一百次决 ...
- 少儿学python书籍推荐_儿童节,我们从零开始——Python入门资源推荐
原创 2017-06-01 玄魂工作室 玄魂工作室 今天是六一儿童节,首先祝所有的小朋友身体健康,能永远生活在一个没有战争,没有压迫的世界里,永远快乐. 上一篇文章,很多人都对Python的各种书籍感 ...
最新文章
- 服务器连接超时不响应怎么回事,勇者斗恶龙x服务器没有响应连接超时解决方法...
- SAP MM 移动类型343不开放给业务人员之思考
- Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应用
- 按钮点击WIN8 磁贴效果
- python删除指定文件夹下文件和文件夹的方法
- sql xp_cmdshell
- python支持gui编程_Python GUI编程完整示例
- bat文件打开一闪就没了_window文件夹目录树的创建
- Spark基础学习笔记05:搭建Spark Standalone模式的集群
- 08TensorFlow2.0基础--8.4部分采样
- java基础知识5-二进制
- Python:matplotlib绘制条形图
- 夏普SHARP-10-80cm红外测距传感器-GP2Y0A21YK0F-性能测试
- 只读更新全程图解教程(转)
- MongoDB是什么?看完你就知道了!
- 建网站购买服务器,建网站购买服务器
- Unity3D游戏引擎最详尽基础教程
- 使用Banner制作轮播图
- dmaengine,dmatest, DW_DMAC driver
- 求次方的c语言程序,C语言编程求13的13次方的最后三位数