【Python3.6爬虫学习记录】(一)爬取简单的静态网页图片

前言:之前跟着廖雪峰的教程简单的学习了最基本的python语法,还没学完,小学期又认真的学习了java,暑假闲来无事,着手学习python爬虫。开学就大二了,然而还是各种小白(文中会提到很多小白,痴问题)。

千里之行始于足下,百尺高楼起于垒土。

学习计划:跟着网上的教程敲代码,再自己写一个,了解个中奥妙,一个知识点一个知识点的突破,边学边查。
学习Python爬虫的精华摘要

爬虫代码及注释

#本部分内容-根据指定正则表达式(即图片的网址)匹配
#         -以及图片文件保存

import requests
import re

url = 'http://www.nipic.com/photo/jingguan/ziran/index.html'

#获得网页源码
data = requests.get(url).text 

#图片正则表达式
regex = r'<img src="(.*?.jpg)"'  

#re是一个列表
pa = re.compile(regex) #创建一个pa模板,使其符合匹配的网址
ma = re.findall(pa,data) #findall 方法找到data中所有的符合pa的对象,添加到re中并返回

#图片的名字
i=0

#要在控制台打印提示,了解进程
print('Start downloading')

#将ma中图片网址依次提取出来
for image in ma:
    i+=1
    image = requests.get(image).content
    print(str(i)+'.jpg is downloading')

    # \ 要用转义符号 \\表示,要注意原图片的格式
    with open('D:\Python Study\crawl\crawl pictures\\'+str(i)+'.jpg','wb') as f: #注意打开的是就jpg文件
         f.write(image)

print('Finish downloading')

相关问题
①HTML相关知识
之前还准备自学来着,偶然间就发现了谷歌的人性化
这里写图片描述
真的很好用。

②静态网页与动态网页的区别
跟着教程临摹,却不知天高地厚的准备爬取花瓣首页的图片,然后遇到了问题。各种百度,终于发现其中奥妙-文章标题。
快速判断静态与动态网页
其中提到的方法如下:

以.asp、.jsp、.php 为扩展名,或者有”?”、”=”、”%”,以及”&”、”$”、”id”等乱七八糟的字符的网页,都是动态页面
html、.htm、.shtml表示的就是静态语言页面
只是小白用来简单的判断,判断网址中有没有上述关键词即可。

③正则表达式
看的实在头疼,静态网页可以用下面简单的表达式吧

regex = r'<img src="(.*?.jpg)"'  # .jpg 必须在括号里面才能完整显示图片

④文件读取
之前自学没有学到,这里码一下

#文件读取
try:
    # r 表示读取UTF编码的文本文件
    # rb 表示读取二进制文件,例如图片和视频
    f=open('C:/Users/lenovo/Desktop/execise.txt','r')
    print(f.read())
except:
    system.exit(0)
finally:
    if f:
        f.close()
        #最后要注意关闭

# 用with更简单,不用写close
#with open('/path/to/file', 'r') as f:
#    print(f.read())

#文件写入
with open('C:/Users/lenovo/Desktop/e.txt','w') as f:
    f.write('python to write hello world')
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值