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找出文件中使用率最高的汉字实例详解
Jun 03 Python
Python写入CSV文件的方法
Jul 08 Python
Python2和Python3中print的用法示例总结
Oct 25 Python
Python中static相关知识小结
Jan 02 Python
浅谈Python实现2种文件复制的方法
Jan 19 Python
详解python中的Turtle函数库
Nov 19 Python
python实现AES加密解密
Mar 28 Python
python3实现猜数字游戏
Dec 07 Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 Python
python字典的遍历3种方法详解
Aug 10 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
Django权限控制的使用
Jan 07 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
PHP strtok()函数的优点分析
2010/03/02 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
网络安全方面的面试题
2016/01/07 面试题
2014新年寄语
2014/01/20 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
工艺员岗位职责
2014/02/11 职场文书
优秀党支部申报材料
2014/12/24 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
初中语文教学反思范文
2016/03/03 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
Python jiaba库的使用详解
2021/11/23 Python
python manim实现排序算法动画示例
2022/08/14 Python