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的Django框架中的QuerySets
Apr 20 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
对python中return与yield的区别详解
Mar 12 Python
Keras 加载已经训练好的模型进行预测操作
Jun 17 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
Python代码需要缩进吗
Jul 01 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
php轻松实现文件上传功能
2016/03/03 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
万能的php分页类
2017/07/06 PHP
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python代码过长的换行方法
2018/07/19 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
武汉东之林科技有限公司机试
2013/09/17 面试题
毕业生医学检验求职信
2013/10/16 职场文书
成教毕业生自我鉴定
2013/10/23 职场文书
村班子对照检查材料
2014/08/18 职场文书
情况说明书怎么写
2015/10/08 职场文书
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript