0%

python写成的图片爬虫

这是一个用来爬取百度贴吧帖子里的图片的爬虫

只要把链接给它

它就可以将链接指向的页面中的图片给扒下来

主要代码

这是实现主要功能的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import urllib.request
import re
import os
import urllib


def get_html(url):
page = urllib.request.urlopen(url)
html_a = page.read()
return html_a.decode('utf-8')


def get_img(html):
reg = r'https://[^\s]*?\.jpg'
imgre = re.compile(reg) # 转换成一个正则对象
imglist = imgre.findall(html) # 表示在整个网页过滤出所有图片的地址,放在imgList中
x = 0 # 声明一个变量赋值
path = 'C:\\图片' # 设置图片的保存地址
if not os.path.isdir(path):
os.makedirs(path) # 判断没有此路径则创建
paths = path + '\\' # 保存在test路径下
for imgurl in imglist:
urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x)) # 打开imgList,下载图片到本地
x = x + 1
print('图片开始下载,注意查看文件夹,图片保存在C盘图片文件夹')
return imglist
text.insert(END,print)
text.see(END)
text.update()


print('这是一个爬取百度贴吧的帖子里的图片的爬虫')
print('其实本来有个GUI的,不过因为一些问题没弄上来,只能凑合了')
print('提示:图片保存在C盘的图片文件夹里。还有,只会爬取这个链接的页面中的图片。输入网址后按回车就行')

html_b = get_html(input("输入网址:")) # 获取该网页的详细信息
print(get_img(html_b)) # 从网页源代码中分析下载保存图片

将上面的代码复制到 pycharm 里,然后运行就可以,不过输入网址的时候直接回车会跳转到页面

遇到这种情况直接删除链接最后一个字母/数字,然后自己打上去就可以了

修改部分

图片保存位置

1
path = 'C:\\图片'  # 设置图片的保存地址

按照这个格式 磁盘名//文件夹名 就可以自定义图片保存位置了

链接修改

1
html_b = get_html(input("输入网址:"))   # 获取该网页的详细信息

原来是定死了的,不过我改了改,如果你只想在 pycharm 里使用的话,可以把 input("输入网址:") 给删除

替换成 html_b = get_html("输入你要爬取的网址") ,注意那个 输入你要爬取的网址 是把网址放进去,别把这几个字放进去

显示文字

很简单了

就是 print 后面的了,想写什么就写什么

GUI

如果就这样打包成 exe 文件的话,使用的时候只能看到一个很朴素的,黑白界面

通过 python 自带的包 tkinter ,可以弄出一个比较好看的界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from tkinter import *

def main():

#创建空白窗口,作为主载体
root = Tk()
root.title('爬取百度贴吧里帖子的图片。 图片保存在C盘的图片文件夹里')
root.geometry('600x500+398+279')
# 标签控件,窗口中放置文本组件
Label(root, text='请输入下载的url:', font=("微软雅黑", 15), fg='black').grid()
# Entry是可输入文本框
url_input = Entry(root, font=("微软雅黑", 20), width=50)
url_input.grid(row=0, column=1)
# 列表控件
text = Listbox(root, font=('微软雅黑', 20), width=65, height=10)
# columnspan 组件所跨越的列数
text.grid(row=1, columnspan=2)

button = Button(root, text='开始下载', font=("微软雅黑", 15)).grid(row=2, column=0, sticky=W)
button = Button(root, text='退出', font=("微软雅黑", 15), command=root.quit).grid(row=2, column=0, sticky=E)

#显示窗口
mainloop()

main()

如果对这样有疑问的可以查看 相关视频

打包

如果你想把它弄成 exe 文件,可以随时随地使用,那么就要使用另一个东西 pyinstaller

下载

pycharm内部下载

找到其他设置里的 Project Interpreter ,然后按照图片的方法添加就可以了

pip安装

win+r 输入 cmd ,在终端输入 pip install pyinstaller

然后就可以了,觉得下载速度慢的可以更换国内镜像,方法百度

如果没有 pip 的话就去官网下载吧

官网下载

推荐上面两种方法,可以省去很多麻烦

pyinstaller 官网

下载对应版本 ,安装就行

解压出来后,在终端里 cd 到解压出来的文件夹里,执行 python setup.py install

真·打包(xxx 里是你该文件的名字!!!)

安装完 pyinstaller 后,就可以开始打包了

pycharm 里 cd 到文件夹

当然你也可以在 cmd 里 cd 到文件夹

然后执行命令 pyinstaller -F xxx.py ,等待一会

然后再查看文件夹里,会发现多出了几个文件夹,找到 dist 文件夹

点进去,会发现里面有个 exe 文件,那就是打包好的

当然,打包好的文件的图标很不好看,你可以自己更换想要的图标

首先把想放上去的图片转换为合适大小的 ico 文件,然后放到和你爬虫同一个文件夹

再执行命令 pyinstaller -i -F xxx.ico xxx.py

然后就完成了!

如果没有看到图标改变,那是缓存问题,把名字改一下就可以看到了

----------------本文结束感谢阅读----------------
如果觉得文章好的话,就打个赏吧!
隐藏