Python_summary
Q: python中出现IndentationError:unindent does not match any outer indentation level
A:复制代码的时候容易出现缩进错误,虽然看起来是缩进了,但是实际上没有。可以用Notepad++下的
视图->显示符号->显示空格和制表符 来观察是否缩进
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~简单爬虫python2.7~~~~~~~~~~~~~~~~~~~~~~~~~~
'''
简单爬虫
'''
#encoding:utf-8 import urllib
import sys
import re #设置编码
reload(sys)
sys.setdefaultencoding('utf-8')
#获取系统编码格式
type = sys.getfilesystemencoding()
def getHtml(url):
page = urllib.urlopen(url)
html = page.read().decode('utf-8').encode(type)
return html def cbk(a,b,c):
'''
a:已经下载的数据块
b:数据块的大小
c:远程文件的大小
'''
per = 100.0*a*b/c
if per > 100 :
per = 100
print '%.2f%%' %per def getImg(html):
reg = r'src="(.+?\.jpg)" alt'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
#x = 0
for img in imglist:
local = 'c://Users/xujianjun/Desktop/python/x.jpg' #不能只包含路径,必须是路径+文件名
urllib.urlretrieve(img,local,cbk) #回调函数定义必须有三个参数,哪怕不需要
#x += 1
return imglist
html = getHtml("http://www.cnblogs.com/1023linlin/p/8525273.html")
print getImg(html)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python_summary的更多相关文章
随机推荐
- XmlHelpers
最近处理数据的时候用到了Xml和其他数据之间的转换,所以整理了一些方法. class XMLHelper { /// <summary> /// 读取xml模板 /// </summ ...
- [No0000128]SQL纵表与横表互转
1.纵表转横表: 纵表结构:Table1 转换后的横表结构: Sql示例代码: select username, sum(case Course when '语文' then Grade else 0 ...
- 机器学习使用sklearn进行模型训练、预测和评价
cross_val_score(model_name, x_samples, y_labels, cv=k) 作用:验证某个模型在某个训练集上的稳定性,输出k个预测精度. K折交叉验证(k-fold) ...
- tensorflow的tile使用
当你需要按照矩阵维度复制数据时候,可以使用tensorflow的tile函数 a1 = tf.tile(a, [2, 2]) 表示把a的第一个维度复制两次,第二个维度复制2次.注意使用tf.nn.so ...
- MySQL的一些概念
数据库与服务器.客户端的层次关系 关于数据库 程序中需要存储数据的方式: 1 变量(列表.元组.集合.字典.嵌套) 2 外存(文件)(*.ini) 3 表格.Excel(*.xls.*.xlsx.*. ...
- 解决GP服务产生的结果无法自动发布为地图服务的问题
在ArcGIS for Javascript API或REST API调用GP服务时,常常会遇到这样一种情况:GP服务运行以后,执行成功,也能够生成结果,然而结果并没有直接产生动态的地图服务供API调 ...
- iOS中的静态库与动态库,区别、制作和使用
如果我们有些功能要给别人用,但是又不想公开代码实现,比如高德地图.第三方登录分享等等,这时候我们就要打包成库了.库分静态库和动态库两种: 静态库:以.a 和 .framework为文件后缀名.动态库: ...
- jmeter_用户并发登录
部分摘自:https://blog.csdn.net/weixin_41291554/article/details/80492276 第一种方案:对登录账号和密码进行参数化 1.添加设置线程数: N ...
- iOS APP 在前台时弹出本地通知
iOS10 之后使用才有效果 1.在 AppDelegate.m 文件里面添加下面的方法. - (void)userNotificationCenter:(UNUserNotificationCent ...
- C++取出string的一部分以及int型转成string类型
在实际应用中,对文件的操作是十分频繁的,我们需要对文件进行拷贝,重命名等操作,这是就需要获取文件的绝对路径,一般情况下,该路径是以字符串的形式存储的,如果我们需要对文件进行重命名等,就需要对绝对路径这 ...