8.1-8.6爬虫+基础python学习

应气人的邓小猪的要求,写总结!!!!!!

前情提要:

暑假学习第一周总结:本周主要目标在于学习基础的爬虫,了解什么是爬虫,如何爬取网页上的数据并成功实现简单的爬虫。(学习借鉴他人简书爬虫知识)
完成情况:0.5%(哈哈哈哈哈哈哈哈哈哈哈哈)

故事结局

最终完成成果:

  1. 配置python环境和爬虫基本环境
  2. 完成所看简书一二部分内容,第三部分内容基本理解,但并没有实现代码部分(因为我不懂怎么用那个库!!!!一点都不懂!!!!)
    由于看过别人代码之后虽然大致明白爬虫机理,但是自己基础知识太薄弱并不懂那些库函数的使用吧啦吧啦,so,实现简单爬虫转变为学习基础知识,正所谓厚积薄发,要有扎实的基础知识才可以写出代码(哈哈哈哈哈哈哈哈)所以本渣渣开始学习廖雪峰大佬的python2.7教程(本人所用python环境为2.7)
  3. 学习python基础知识(学了一半,学到函数式编程)

接下来,开始正式的知识回顾啦(哈哈哈哈哈):

故事发展

配置环境

本机所用配置:python:2.7版本,win7电脑环境,windows环境下
爬虫环境:

  1. 四个依赖的库文件:
  • beautifulsoup库:快速处理抓取下来的数据。
  • requests模块:主要负责网络功能。
  • lxml库:配合beautifulsoup库使用。
  • pymongo库:和mongoDB数据库交互,数据存储在mongoDB数据库中。
  1. pip:利用pip命令安装库文件
  2. mongoDB数据库:存放爬取的数据
安装
  1. 安装pip: 上python官网下载pip安装包,具体过程如网址[pip安装]http://www.tuicool.com/articles/eiM3Er3
    安装过程中在添加pip环境变量这里,折腾了半天都不行,特别注意:按照步骤安装pip添加环境变量时要将pip.exe的路径加入到path环境变量中。
    在利用python setup.py install命令安装pip时,并没有安装到自己所解压缩的文件夹下,而是安装在本机安装python时的python文件夹下,因此正确的路径应该是某盘:\python安装文件夹\Scripts文件夹,在这个路径下应该可以找到pip.exe文件(具体情况具体分析)
  2. 利用pip命令安装库文件(具体命令参考简书爬虫教程)
  3. 安装mongoDB
    至此,环境配置完成,可以开始正式学习爬虫了٩(๑òωó๑)۶

教程三简单爬虫demo分析

给了一个小代码来分析对瓜子二手网的车辆信息的爬取和检索,在这个部分虽然代码可以理解,但是代码中具体的函数如何使用并不了解,而且python语法太弱所以大致看懂怎么回事之后开始python语法的具体学习。

这个demo显示了爬虫的大致的流程:

  • 首先:要找到我们要爬取的数据的URL,对于要爬取的网页地址进行分析找到其中的规律,例如瓜子网车辆信息有多页,第一页为o1,第二页为o2,以此类推。可以依据找到的规律构建一个list,然后对每个地址进行爬取。
  • 对每个地址爬取的操作:得到网页URL后,对具体某辆车进行分析,获取他的CSS地址,对CSS地址进行过滤分析,去掉无用的前缀,获取我们所需要的车辆信息的的CSS地址链,例如价格,然后对其进行处理。通过库函数和地址获取其中的有用信息。

这是一个简单的爬虫demo,整个原理和代码不难理解,接下来是熟悉库函数和学会如何使用。

python基础知识学习

刚开始想能看懂就行,后来发现不行,自己的语法太弱,没有怎么学过,所以开始大致的看python基础教程,是廖雪峰的python2.7教程[python教程]https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

看到了函数式编程这一部分,具体知识教程里有,此处仅写一下再看教程时自己动手试验得到的一些小知识和学到的一些新函数。

  • {'a':1,'b':2,'c':3}['a'] = 1
    开始不懂这个代码为什么这么写,结果为什么是1,然后发现它等于一下代码:
  t = {'a':1,'b':2,'c':3} 
  t['a'] = 1

其实就是求一个字典里某个key的value值。

  • t.pop('a')函数是返回'a'的value值:1
    因此注意一下二者的区别(一不小心就搞错了-_-):
t = {'a':1,'b':2,'c':3}.pop('a') //t=4
t = {'a':1,'b':2,'c':3}
s = t.pop(4)   //这时t是一个list,s=4
  • 明白可变对象与不可变对象的区别,重点!重点!重点!
    字符串是不可变对象!
s = 'abc'
t = s
s = 'abcd'
//t='abc',s='abcd'

在创建字符串时,python先在内存里创建一个'abc'变量,然后将s指向的地址指向它,接着创建了t变量,t = s,将t指向的地址指向s所指向的地址即'abc'变量而非s,接着s = 'abcd',python在内存里创建'abcd'变量,改变s所指向的地址。(好绕口,廖雪峰教程里有具体的图,清晰明了,具体如下)

字符串不可变解释
  • 关于字符串的几个函数:upper(),lower(),capitalize(),capwords(),strip()
  1. upper()和lower(): upper()将字符串的各个字母大写,lower()则是小写,结合上面的字符串不可变性,有个小程序理解:
t = 'abc'
t.upper()  //t = 'abc'

在做廖雪峰大大布置的课后题时发现的问题,本来以为t.upper()后t会变成'ABC',实际运行结果不对,还是'abc',然后明白过来t.upper()在内存中先建了一个变量'ABC',然而t所指向的内容依旧不变。

  1. capitalize()方法: 将一个字符串的第一个字母大写,其余字母变为小写,例如:
s = 'abcDEf'
s1 = ' abcDEf'
s.capitalize()  //结果为'Abcdef'
s1.capitalize() //结果为' abcdef'  第一个字符是空格
  1. capwords()函数:这个函数的具体过程如下:先调用s.split()将字符串s分解成单词,然后调用s.capitalize()函数将每个单词的首字母大写其他字母小写,然后在调用s.join()函数将单词连接起来成为句子,他有两个参数,第一个参数是字符串s,第二个参数是分解成单词时的分隔符,默认为空格
s = 'pigDeng iS a BIG piG'
capwords(s)  // 结果: 'Pigdeng Is A Big Pig'
capwords(s,None)  // 结果: 'Pigdeng Is A Big Pig'
capwords('abcDacdaDEf',a) //结果: 'aBcdaCdaDef' a是分隔符,不做处理,可以看作是空格
  1. strip()函数:去掉字符串头尾指定的字符
s = '0000pigDeng is a big pig000'\
s.strip('0') //结果:'pigDeng is a big pig'

综上,python包含的机制太高级,可以很轻松的调用代码,不用乱七八糟写一通确实还挺方便哈哈哈哈哈。

阿阿阿阿阿阿阿阿阿阿总结终于结束了,累死爸爸了,下周继续!睡觉了,呼呼呼~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,932评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,554评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,894评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,442评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,347评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,899评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,325评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,980评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,196评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,163评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,085评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,826评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,389评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,501评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,753评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,171评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,616评论 2 339

推荐阅读更多精彩内容