python学习虫师笔记 (一)

虫师博客:http://www.cnblogs.com/fnng/p/3576154.html

我的笔记

初期:一开始学习python是通过看书 第一本python的书叫《python核心编程》美:wesley j.chun第二本是C语言的书叫《C primer plus》看了一半又停了,学习曲线太陡,没什么兴奋感, 看完就忘了,因为光看不做, 一年又一年还是不会,但我想学变成的心没变

现在:于是在前几天2016/8/5,我开始直接上手做,不会的查书,搜google、百度  

英语方面,一直在看英文小说,每天一章的进展,现在差不多看完6/7本的样子 如果有人想通过看书学英文,我看过的英文书单可以以后更新出来 都是简单但需要坚持的

 

 

开始写博客记录学习

项目(一) 如何开始,从有趣经常用的地方开始,那不就是网络了,和网络相关的不就是爬虫(就是如何把网上好玩的信息copy到自己的文件夹里)了吗?

于是搜索 python 爬虫 第一个http://www.cnblogs.com/fnng/p/3576154.html就是虫师的博客园

上手复制,改动 而不是看书把每一个地方弄清,首先培养兴趣

于是直接把虫师的内容复制下来,在python上运行观察学习(因为我觉得写得还是有点难,所以我加了很多注释帮助大家,复制的时候注释去不去掉随你,不影响运行)

 1 #coding=utf-8
 2 import urllib                  #urlib模块,一个标准库,接受url请求等
 3 
 4 def getHtml(url):              #自定义一个函数用来获取html代码 
 5     page = urllib.urlopen(url) #urllib的一个方法,用来打开url
 6     html = page.read()         #read方法用来读取
 7     return html                #读取的内容存入html,并返回到getHtml
 8 
 9 html1 = getHtml("http://tieba.baidu.com/p/4590525889?da_from=ZGFfbGluZT1EVCZkYV9wYWdlPTEmZGFfbG9jYXRlPXAwMDY0JmRhX2xvY19wYXJhbT0zJmRhX3Rhc2s9dGJkYSZkYV9vYmpfaWQ9MjM3MDYmZGFfb2JqX2dvb2RfaWQ9NDM3ODYmZGFfdGltZT0xNDcwNDg4MjM2&da_sign=58a0c29287d6df1817926ce918cd05eb&tieba_from=tieba_da")
10 #主程序  返回的html内容存入html1中,并在接下来的print中打印下来 网址随便换
11 print html1           #输出html1内容

补充:urllib2与urllib 前者既可以通过request类设置headers(这个用来模拟也就是伪装成人浏览网页)也接受url,而后者只可以接受url不能伪装,比如糗事百科最近改版,以前直接把上面的网页一换就可以弄下来html的代码,现在需要加入headers进行检验,urllib这个模块就束手无策了

 

 

项目(二)自动下载图片改名并存入本地


 1 #coding=utf-8
 2 import urllib
 3 import re              #用到了正则表达式模块,用来筛选、、搜索、匹配的强大模块
 4 
 5 def getHtml(url):
 6     page = urllib.urlopen(url)
 7     html = page.read()
 8     return html
 9 
10 def getImg(html):                 #前面获得的html代码,在这里进行“清洗”,也就是找到代码中想要的(比如图片的地址等等)
11     reg = r'src="(.+?\.jpg)" pic_ext' 
12     imgre = re.compile(reg)       #上一句 正则表达式匹配 圆括号()代表我们想要(图片的地址),.+? 其中问号是懒惰模式,整个.+?匹配任何字符但尽可能地少,因为懒惰麻  
13     imglist = re.findall(imgre,html) #上一句 进行预编译,反正就是要比较所以先编译一下,方便省时 这句返回正则表达式匹配的列表
14     x = 0
15     for imgurl in imglist:
16         urllib.urlretrieve(imgurl,'%s.jpg' % x) #存入和这个代码程序相同的目录下
17         x+=1
18     return imglist
19         
20 
21 
22 
23 html = getHtml("http://tieba.baidu.com/p/2460150866")
24 
25 print getImg(html)

 

 

 

 

 

 

这几天一直想换电脑,买苹果,无奈钱包空空,怎么能用下班时间转到买苹果顶配的钱,这是一个问题

 

posted @ 2016-08-07 16:38  gkgy  阅读(1324)  评论(0编辑  收藏  举报