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 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
使用Python3 编写简单信用卡管理程序
Dec 21 Python
Python中的sort()方法使用基础教程
Jan 08 Python
python实现BackPropagation算法
Dec 14 Python
tornado 多进程模式解析
Jan 15 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
python3 字符串知识点学习笔记
Feb 08 Python
python实现简单颜色识别程序
Feb 19 Python
在python里创建一个任务(Task)实例
Apr 25 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
Python调用Redis的示例代码
Nov 24 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-redis中文文档介绍
2013/02/07 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
python脚本监控docker容器
2016/04/27 Python
Django实现自定义404,500页面教程
2017/03/26 Python
pycharm创建一个python包方法图解
2019/04/10 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
django 模型字段设置默认值代码
2020/07/15 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
求职信模板怎么做
2014/01/26 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
春风化雨观后感
2015/06/11 职场文书
初二英语教学反思
2016/02/15 职场文书
小学作文之描写天气
2019/08/15 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
vue动态绑定style样式
2022/04/20 Vue.js