python爬虫基本知识


Posted in Python onMarch 05, 2018

爬虫简介

      根据百度百科定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。     

随着大数据的不断发展,爬虫这个技术慢慢走入人们的视野,可以说爬虫是大数据应运而生的产物,至少我解除了大数据才了解到爬虫这一技术

随着数据的海量增长,我们需要在互联网上选取所需要的数据进行自己研究的分析和实验。这就用到了爬虫这一技术,下面就跟着小编一起初遇python爬虫!

一、请求-响应

在利用python语言实现爬虫时,主要用到了urllib和urllib2两个库。首先用一段代码说明如下:

import urllib
 import urllib2
 url="http://www.baidu.com"
 request=urllib2.Request(url)
 response=urllib2.urlopen(request)
 print response.read()

我们知道一个网页就是以html为骨架,js为肌肉,css为衣服所构成的。上述代码所实现的功能就是把百度网页的源码爬取到本地。

其中,url为要爬取的网页的网址;request发出请求,response是接受请求后给出的响应。最后用read()函数输出的就是百度网页的源码。

二、GET-POST

两者都是向网页传递数据,最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。

POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。

POST方式:

import urllib
 import urllib2
 values={'username':'2680559065@qq.com','Password':'XXXX'}
 data=urllib.urlencode(values)
 url='https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn'
 request=urllib2.Request(url,data)
 response=urllib2.urlopen(request)
 print response.read()

GET方式:

import urllib
import urllib2
values={'username':'2680559065@qq.com','Password':'XXXX'}
data=urllib.urlencode(values)
url = "http://passport.csdn.net/account/login"
geturl = url + "?"+data
request=urllib2.Request(geturl)
response=urllib2.urlopen(request)
print response.read()

三、异常处理

处理异常时,用到了try-except语句。

import urllib2
 try:
   response=urllib2.urlopen("http://www.xxx.com")
 except urllib2.URLError,e:
   print e.reason

总结

以上所述是小编给大家介绍的python爬虫基本知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
把大数据数字口语化(python与js)两种实现
Feb 21 Python
Python3访问并下载网页内容的方法
Jul 28 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
python剪切视频与合并视频的实现
Mar 03 Python
python实现引用其他路径包里面的模块
Mar 09 Python
python实现简单俄罗斯方块
Mar 13 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
浅析Python迭代器的高级用法
Jul 16 Python
python如何爬取网页中的文字
Jul 28 Python
python自动计算图像数据集的RGB均值
Jun 18 Python
python 中的jieba分词库
Nov 23 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 #Python
详解python实现线程安全的单例模式
Mar 05 #Python
分析python动态规划的递归、非递归实现
Mar 04 #Python
python3.x上post发送json数据
Mar 04 #Python
python数据封装json格式数据
Mar 04 #Python
Python爬虫实例扒取2345天气预报
Mar 04 #Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 #Python
You might like
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
巧用canvas
2017/01/21 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
红旗团支部事迹材料
2014/01/27 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
就业自我评价
2014/02/04 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
特岗教师个人总结
2015/02/10 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书