简单爬虫:爬取weixin某网站图片from re import findall #re为正则表达式 from urllib.request import urlopen

适用于:单一网址中图片连续、一张一张保存太麻烦。
环境:Python开发环境

首先罗列要使用的知识点:
1. re正则表达式

2. findall
作用:在字符串中找到正则表达式所匹配的所有子串,并组成一个列表返回

3.urllib.request.urlopen
urlopen是urllib.request模块提供的最基本的构造HTTP请求的方法,可以模拟浏览器的一个请求发起过程,同时还支持授权验证(authentication)、重定向(redirection)、浏览器Cookies以及其他内容。

从关键字入手:
1. 按F12
2.在这里插入图片描述
3.随意点击一张图片
跳转到:
在这里插入图片描述
在这里插入图片描述
得到
pattern = ‘data-src="(.+?)"’#通过模式匹配的方式:把网址中所有匹配对象放到pattern中

上代码:

from re import  findall #re为正则表达式
from urllib.request import urlopen
#目的是获取资源

#打开这个网站
url =  "http://mp.weixin.qq.com/s/yQnYPgr2W6PeZyI2f-3iag"  #要爬取网站的地址  切记http后面不要有 s,否则不允许查询
#把它作为一个fp进行操作
with urlopen(url) as fp:
    content=fp.read().decode()#执行过长先打开-》decode截码—》读取

pattern = 'data-src="(.+?)"'#通过模式匹配的方式:把网址中所有匹配对象放到pattern中
result =findall(pattern,content)#到pattern和content中去搜索
for index,item in enumerate(result):
    with urlopen(str(item))as fp:
        with open(str(index)+".jpeg",'wb')as fp1:#jpeg是要存储的格式
            fp1.write(fp.read())

运行代码时候,所爬取的图片和代码保存的位置相同,如果使用Pycharm的,可以建设一个单独的文件储存,便于管理。

猜你喜欢

转载自blog.csdn.net/qq_46144237/article/details/108326841
今日推荐