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模块学习 filecmp 文件比较
Aug 27 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 Python
python实现图书馆抢座(自动预约)功能的示例代码
Sep 29 Python
python 实现Harris角点检测算法
Dec 11 Python
pycharm debug 断点调试心得分享
Apr 16 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 验证码实例代码
2010/06/01 PHP
深入php处理整数函数的详解
2013/06/09 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
Python csv文件记录流程代码解析
2020/07/16 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
自考生自我鉴定范文
2013/10/01 职场文书
搞笑获奖感言
2014/01/30 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
公司庆典主持词
2015/07/04 职场文书
《自己去吧》教学反思
2016/02/16 职场文书