运城哪家做网站的公司好,怎样优化网站案例,温州科技网站建设,wordpress 安装教程1.获取图片的url链接
首先#xff0c;打开百度图片首页#xff0c;注意下图url中的index
接着#xff0c;把页面切换成传统翻页版#xff08;flip#xff09;#xff0c;因为这样有利于我们爬取图片#xff01;
对比了几个url发现#xff0c;pn参数是请求到的数量。…1.获取图片的url链接
首先打开百度图片首页注意下图url中的index
接着把页面切换成传统翻页版flip因为这样有利于我们爬取图片
对比了几个url发现pn参数是请求到的数量。通过修改pn参数观察返回的数据发现每页最多只能是60个图片。
注gsm参数是pn参数的16进制表达去掉无妨
然后右键检查网页源代码直接ctrlF搜索 objURL
这样我们发现了需要图片的url了。
2.把图片链接保存到本地
现在我们要做的就是将这些信息爬取出来。
注网页中有objURLhoverURL…但是我们用的是objURL因为这个是原图
那么如何获取objURL用正则表达式
那我们该如何用正则表达式实现呢其实只需要一行代码…
results re.findall(objURL:(.\*?),, html) 核心代码
1.获取图片url代码 1 # 获取图片url连接2 def get\_parse\_page(pn,name): 3 4 for i in range(int(pn)): 5 # 1.获取网页6 print(正在获取第{}页.format(i1))7 8 # 百度图片首页的url9 # name是你要搜索的关键词
10 # pn是你想下载的页数
11
12 url https://image.baidu.com/search/flip?tnbaiduimageieutf-8word%spn%d %(name,i\*20)
13
14 headers {
15 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4843.400 QQBrowser/9.7.13021.400}
16
17 # 发送请求获取相应
18 response requests.get(url, headersheaders)
19 html response.content.decode()
20 # print(html)
21
22 # 2.正则表达式解析网页
23 # objURL:http://n.sinaimg.cn/sports/transform/20170406/dHEk-fycxmks5842687.jpg
24 results re.findall(objURL:(.\*?),, html) # 返回一个列表
25
26 # 根据获取到的图片链接把图片保存到本地
27 save\_to\_txt(results, name, i)2.保存图片到本地代码 1 # 保存图片到本地2 def save\_to\_txt(results, name, i): 3 4 j 0 5 # 在当目录下创建文件夹6 if not os.path.exists(./ name): 7 os.makedirs(./ name) 8 9 # 下载图片
10 for result in results:
11 print(正在保存第{}个.format(j))
12 try:
13 pic requests.get(result, timeout10)
14 time.sleep(1)
15 except:
16 print(当前图片无法下载)
17 j 1
18 continue
19
20 # 可忽略这段代码有bug
21 # file\_name result.split(/)
22 # file\_name file\_name\[len(file\_name) - 1\]
23 # print(file\_name)
24 #
25 # end re.search((.png|.jpg|.jpeg|.gif)$, file\_name)
26 # if end None:
27 # file\_name file\_name .jpg
28
29 # 把图片保存到文件夹
30 file\_full\_name ./ name / str(i) \- str(j) .jpg
31 with open(file\_full\_name, wb) as f
32 f.write(pic.content)
33
34 j 13.主函数代码
1 # 主函数
2 if \_\_name\_\_ \_\_main\_\_:
3
4 name input(请输入你要下载的关键词)
5 pn input(你想下载前几页1页有60张:)
6 get\_parse\_page(pn, 使用说明
1 # 配置以下模块
2 import requests
3 import re
4 import os
5 import time
6
7 # 1.运行 py源文件
8 # 2.输入你想搜索的关键词比如“柯基”、“泰迪”等
9 # 3.输入你想下载的页数比如5那就是下载 5 x 60300 张图片