虫师博客:/fnng/p/3576154.html
我的笔记
初期:一开始学习python是通过看书 第一本python的书叫《python核心编程》美:wesley j.chun第二本是C语言的书叫《C primer plus》看了一半又停了,学习曲线太陡,没什么兴奋感, 看完就忘了,因为光看不做, 一年又一年还是不会,但我想学变成的心没变
现在:于是在前几天/8/5,我开始直接上手做,不会的查书,搜google、百度
英语方面,一直在看英文小说,每天一章的进展,现在差不多看完6/7本的样子 如果有人想通过看书学英文,我看过的英文书单可以以后更新出来 都是简单但需要坚持的
开始写博客记录学习
项目(一) 如何开始,从有趣经常用的地方开始,那不就是网络了,和网络相关的不就是爬虫(就是如何把网上好玩的信息copy到自己的文件夹里)了吗?
于是搜索 python 爬虫 第一个/fnng/p/3576154.html就是虫师的博客园
上手复制,改动 而不是看书把每一个地方弄清,首先培养兴趣
于是直接把虫师的内容复制下来,在python上运行观察学习(因为我觉得写得还是有点难,所以我加了很多注释帮助大家,复制的时候注释去不去掉随你,不影响运行)
1 #coding=utf-8
2 importurllib #urlib模块,一个标准库,接受url请求等3
4 defgetHtml(url): #自定义一个函数用来获取html代码5 page =urllib.urlopen(url) #urllib的一个方法,用来打开url6 html =page.read() #read方法用来读取7 returnhtml #读取的内容存入html,并返回到getHtml8
9 html1 = getHtml("/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 importurllib3 import re #用到了正则表达式模块,用来筛选、、搜索、匹配的强大模块
4
5 defgetHtml(url):6 page =urllib.urlopen(url)7 html =page.read()8 returnhtml9
10 def getImg(html): #前面获得的html代码,在这里进行“清洗”,也就是找到代码中想要的(比如图片的地址等等)
11 reg = r'src="(.+?\.jpg)" pic_ext'
12 imgre = pile(reg) #上一句 正则表达式匹配 圆括号()代表我们想要(图片的地址),.+? 其中问号是懒惰模式,整个.+?匹配任何字符但尽可能地少,因为懒惰麻
13 imglist = re.findall(imgre,html) #上一句 进行预编译,反正就是要比较所以先编译一下,方便省时 这句返回正则表达式匹配的列表
14 x =015 for imgurl inimglist:16 urllib.urlretrieve(imgurl,'%s.jpg' %x) #存入和这个代码程序相同的目录下17 x+=1
18 returnimglist19
20
21
22
23 html = getHtml("/p/2460150866")24
25 print getImg(html)
这几天一直想换电脑,买苹果,无奈钱包空空,怎么能用下班时间转到买苹果顶配的钱,这是一个问题