编程确实是一个锻炼逻辑思维最有效的工具之一,之前自学Python。总是陷入一个怪圈:看入门数据--一段时间不用忘记了--继续看入门书籍。书是看了很多,编程技术却没有提高。
后来看了一本书,里面有些观点让我茅塞顿开。
做任何事情一定有在短期内简单可行的办法。学习不应该是苦差事,而应该是快乐的,重要的是找到适合自己的学习方法。
在汉语中,掌握常见的1500-2000个字就能看懂80%的文字。在编程中,同样有着最核心的关键知识。先用这些关键的知识构建你的知识体系会让你学习效率加速,这是比一开始就钻到各种细枝末节里面更好的学习方式。
学习编程是为了真正做出点东西来。先掌握项目所需的最少必要知识,然后把热情和精力投入到搭建真实项目中,而不是死磕半年的基础知识,直到把所有兴趣都耗竭了也没做出什么像样的东西。
初学者经常会遇到的困惑是,看书上或是听课都懂,但还是不明白要怎么编程。这是因为缺乏足够多的实践。
思维方式改变之后,就是付诸行动了。最近一直在找练手的小项目来磨炼编程技术。首先最让我感兴趣的就是Python爬虫。所以最近一直去爬各种网站的图片。
本文要讲的是如何爬取虎扑篮球图片。
为简单起见,先从单个网页的一个图片说起。后期将进行封装,以提高可用性。
创建文件保存目录
# Create folder for store picturesub_folder = os.path.join(os.getcwd(), "hupupic")if not os.path.exists(sub_folder): os.mkdir(sub_folder)# os.chdir(sub_folder)
设置Proxy
# Set proxyproxy_support = urllib2.ProxyHandler({"http":"http://your_proxy:8080/"}) opener = urllib2.build_opener(proxy_support) urllib2.install_opener(opener)
解析目标网页,得到图片真实地址
sample_url = 'http://photo.hupu.com/nba/p29556-1.html'req = urllib2.Request(url=sample_url) resp = urllib2.urlopen(req) html = resp.read() start = html.find(r'<div class="flTab">') end = html.find(r'<div class="comMark" style>') content = html[start:end] div_pat = r'<div.*?>(.*?)<\/div>'div_m = re.findall(div_pat, content, re.S|re.M)# print div_m[2]link_list = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')", div_m[2]) pic_url = link_list[0]
保存到电脑
file_path = sub_folder file_name = pic_url.split("/")[-1]print file_name fname = file_path + "\\" + file_name f = urllib2.urlopen(pic_url)with open(fname, 'wb') as img_file: img_file.write(f.read())
作者:bluescorpio
链接:https://www.jianshu.com/p/1b14a12a3f1f
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦