第三方模块

按需从Python的pypi上下载安装

第三方模块

了解爬虫:用Python写爬虫比其他语言方便很多,因为它有第三方模块的支持
任何与钱有关的东西,勿爬
任何不想让你访问的数据,勿爬
遵守网站robots.txt文件的限制

windows中的python默认在powershell中使用pip可以安装第三方模块

pip install + 模块名

需要联网,等待安装完成即可

简单爬虫

以doutula网站位例,进行爬图片实验

首先进入网站,查看源代码,复制一段img标签的html代码

<img referrerpolicy="no-referrer" src="//static.doutula.com/img/loader.gif?33" data-backup="http://img.doutula.com/production/uploads/image/2017/10/15/20171015037383_YXryCG.gif" class="img-responsive lazy image_dtb" data-original="http://ww4.sinaimg.cn/bmiddle/9150e4e5ly1fkiquutaqvj206o06omxe.jpg" style="width: 100%;">
import re   # python标准库,专门用来做正则匹配
import requests  # 可以作相关网页的操作
re1 = r'<img referrerpolicy="no-referrer" class="lazy image_dtb img-responsive" src=".*?" data-original="(.*?)" data-backup=".*?" alt="(.*?)">'

# re.S无论大小写都匹配
re1 = re.compile(re1, re.S)    # 将re1转换为re标准库可以识别的格式

url = 'https://www.doutula.com/article/list/?page=1'

html = requests.get(url).text   # 下载网站源代码

result = re.findall(re1, html)   # 使用re1的表达式方式,在网站源代码中搜索结果     

print(result)
# 得到的结果是url网页当前的匹配图片网址
for item in result:
    print("名称:%s" % item[1])
    print("链接:%s" % item[0])
# 运行程序
名称:城市套路深,我得回农村~
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5ly1fjficu1jszg2073073q36.gif
名称:我要回农村了
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1ga6g3fo7p6j20u00r676p.jpg
名称:再不约我.我要回农村了
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1g87rpmonj7j20ty0uajt8.jpg
名称:我农村来的.希望大家不要向我使套路!
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gw1fbq8knfddhj20hr0hrwff.jpg
名称:记仇
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gaikpavma6j20k00jxjt3.jpg
名称:记仇
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gaikpcxjvgj20k00jxwgz.jpg
名称:记仇
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gaikpf0tl9j20k00jywh3.jpg
名称:快速记仇
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gaikph24xej20k00k0goa.jpg
名称:再见操蛋的2019
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gagqevpcb0j208c07mdgf.jpg
名称:2020爱您爱您
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gagqexerebj208c07mt9b.jpg
名称:下一年,你依旧是沙雕
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gagqez35ndj208c07mdgd.jpg
名称:元旦加班
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gagqf0qn7pj208c07mdgc.jpg
名称:鼠年
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gagpvn1m15j20m80m8gn5.jpg
名称:新年好
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gagpvowvlpj20m80m8abk.jpg
名称:舞狮子
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gagpvqlkxvj2098098q3c.jpg
名称:鼠年吉祥
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gagpvs6ju9j2098098t8r.jpg
名称:木有钱钱了
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gafmgj3o7lg205k06dwf9.gif
名称:溜了溜了
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gafmgksmtfg206o06o74t.gif
名称:开心过冬啦
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gafmgmih0ej20g40g43z9.jpg
名称:嘟嘟嘟嘟
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gafmgod7mdg206o06oac7.gif
名称:微博、毒品
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gaegy120lnj20b40b4jrk.jpg
名称:信息、验证码
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gaegy2raakj20b40b4wei.jpg
名称:电话、联系快递
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gaegy4cz3vj20b40b4q30.jpg
名称:支付宝、并没有钱
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gaegy60jnjj20b40b4dg1.jpg
名称:丑与美
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gadbfn6m7oj20c80c83yq.jpg
名称:缺钱与暴富
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gadbfov65pj20c80c8aac.jpg
名称:废物与精英
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gadbfqfwhxj20c80c8glw.jpg
名称:霉运与好运
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gadbfs3q5sj20c80c8aab.jpg
名称:成功上岸
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gadbg0bc2kj20j60j63zp.jpg
名称:越来越好
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gadbg21uotj20j60j6jsi.jpg
名称:逢考必过
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gadbg4611uj20j60j6ac7.jpg
名称:变瘦变美
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gadbg61ga3j20j60j6wg4.jpg
名称:别灰心啊
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gab8o0cs3vj20hs0hsq3a.jpg
名称:别灰心啊
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gab8o219orj20hs0hsq3a.jpg
名称:人生就是这样
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gab8o3o2nhj20k00k0dgj.jpg
名称:时而飞起
链接:http://ww1.sinaimg.cn/bmiddle/9150e4e5gy1gab8o5ijozj20k00k0mxn.jpg
名称:大佬讲话要记下来
链接:http://ww3.sinaimg.cn/bmiddle/9150e4e5gy1gab8jrmb18g206o06otk9.gif
名称:小本本记下来
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gab8jyxa2lg206o06oan2.gif
名称:不回信息扣100分
链接:http://ww2.sinaimg.cn/bmiddle/9150e4e5gy1gab8k35pibg206o06owtd.gif
名称:你今天表现蛮好
链接:http://ww4.sinaimg.cn/bmiddle/9150e4e5gy1gab8k6ln2ig206o06oqft.gif

将爬到的图片下载到指定的目录中

import re   # python标准库,专门用来做正则匹配
import requests  # 可以作相关网页的操作
re1 = r'<img referrerpolicy="no-referrer" class="lazy image_dtb img-responsive" src=".*?" data-original="(.*?)" data-backup=".*?" alt="(.*?)">'

# re.S无论大小写都匹配
re1 = re.compile(re1, re.S)    # 将re1转换为re标准库可以识别的格式

url = 'https://www.doutula.com/article/list/?page=1'

html = requests.get(url).text   # 下载网站源代码

result = re.findall(re1, html)   # 使用re1的表达式方式,在网站源代码中搜索结果     

# 将获取到的结果下载并保存到指定目录中
for item in result:
    date = requests.get(item[0]).content
    file_name = "img/" + item[1] + "." + item[0].split(".")[-1]
    # img为在脚本当前目录下
    # 文件名称为img路径下的item[1](图片名称),将网址用.切割,取最后一部分值也就是.jpg,作为文件的后缀
    with open(file_name, 'wb') as f:
    # 打开以上命名的文件(没有会自动创建)为空文件,以二进制写入,赋予变量f          # r:读  w:写  rb:以二进制读  wb:以二进制写
        f.write(date)   # 将下载的内容写入到空文件中,结束后自动关闭文件
    print("文件:%s 下载完成" % file_name)
# 运行程序
文件:img/城市套路深,我得回农村~.gif 下载完成
文件:img/我要回农村了.jpg 下载完成
文件:img/再不约我.我要回农村了.jpg 下载完成
文件:img/我农村来的.希望大家不要向我使套路!.jpg 下载完成
文件:img/记仇.jpg 下载完成
文件:img/记仇.jpg 下载完成
文件:img/记仇.jpg 下载完成
文件:img/快速记仇.jpg 下载完成
文件:img/再见操蛋的2019.jpg 下载完成
文件:img/2020爱您爱您.jpg 下载完成
文件:img/下一年,你依旧是沙雕.jpg 下载完成
文件:img/元旦加班.jpg 下载完成
文件:img/鼠年.jpg 下载完成
文件:img/新年好.jpg 下载完成
文件:img/舞狮子.jpg 下载完成
文件:img/鼠年吉祥.jpg 下载完成
文件:img/木有钱钱了.gif 下载完成
文件:img/溜了溜了.gif 下载完成
文件:img/开心过冬啦.jpg 下载完成
文件:img/嘟嘟嘟嘟.gif 下载完成
文件:img/微博、毒品.jpg 下载完成
文件:img/信息、验证码.jpg 下载完成
文件:img/电话、联系快递.jpg 下载完成
文件:img/支付宝、并没有钱.jpg 下载完成
文件:img/丑与美.jpg 下载完成
文件:img/缺钱与暴富.jpg 下载完成
文件:img/废物与精英.jpg 下载完成
文件:img/霉运与好运.jpg 下载完成
文件:img/成功上岸.jpg 下载完成
文件:img/越来越好.jpg 下载完成
文件:img/逢考必过.jpg 下载完成
文件:img/变瘦变美.jpg 下载完成
文件:img/别灰心啊.jpg 下载完成
文件:img/别灰心啊.jpg 下载完成
文件:img/人生就是这样.jpg 下载完成
文件:img/时而飞起.jpg 下载完成
文件:img/大佬讲话要记下来.gif 下载完成
文件:img/小本本记下来.gif 下载完成
文件:img/不回信息扣100分.gif 下载完成
文件:img/你今天表现蛮好.gif 下载完成

打开指定的目录,查看下载文件

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0