本案例采用bs解析
运行平台:pycharm
导入第三方库:bs4,requests,time(为防止被封,给爬虫程序设定间隙时间。推荐使用)
在写代码之前我们先要理清爬取思路,接下来我们看一看爬虫爬取思路
1. 拿到主页面的源代码,然后提取到子页面的链接地址,href
2. 通过href拿到子页面内容。从子页面中找到图片的下载地址,img->src
3. 下载图片

最最最重要的要注意:bs4里面拿属性的值用get()方法!!!
Y(o)Y,进入代码模板部分:

import requests
 from bs4 import BeautifulSoup
 import time
 url=’……请求地址……’
 #headers用于伪装,请求方式为get,若请求方式为post则采用data
 headers={
 ‘user-agent’=’……………’
 }
 resp=requests.get(url,headers=headers)
 resp.encoding=’utf-8’ #处理乱码#接下来把源代码交给bs4
#加html.parser的目的就是防止一大堆报错
 main_page=BeautifulSoup(resp.text,’html.parser’)
 #为了区分class类,我们写成class_;查找标签
 alist=main_page.find(‘div’,class_=’…’).find_all(‘a’)
 for a in alist:
 href=a.get(‘href’)
 child_page_resp=requests.get(href)
 child_page_resp.encoding=’utf-8’
 child_page_text=child_page_resp.text #到这一步我们就拿到页面源代码了#接下来就是获取下载路径,解析
 child_page=BeautifulSoup(child_page_text,’html.parser’)
 p=child_page.find(‘标签’)
 img=p.find(‘img’)
 src=img.find(‘src’)#接下来我们下载图片
 img_resp=requests.get(src)
 img_name=src.split(‘/’)[-1] #取一大串中最后一个斜杠后面的名称作为照片名称#写入文档
 with open(‘img/’+img_name,mode=’wb’) as f:
 f.write(img_resp.content)
 print(‘over!’,img_name)
 #爬取时每一秒休息一次
 time.sleep(1)
 print(‘all over!’)

看到这里,大家是不是想赶紧实战一下呢?
Ok废话不多说,我们进入实战,

爬取回车桌面的图片

一、打开回车桌面,按F12,再接入Ctrl+R,查看网页源代码

Python爬虫贴吧图片功能 python爬虫爬取图片代码_Python爬虫贴吧图片功能


Python爬虫贴吧图片功能 python爬虫爬取图片代码_python_02

从网页可以得到URL,User-Agent及请求方法为get()

二、点击响应,找到我需要爬取的数据的代码位置

Python爬虫贴吧图片功能 python爬虫爬取图片代码_pycharm_03


观察到dd、dt,两者出现必有dl封装,形成一个表格

三、完整源码展示(亲们久等啦)

import requests
 from bs4 import BeautifulSoup
 import time
 url=‘https://mm.enterdesk.com/’
 #headers是用来伪装,防止被封~
 headers={
 ‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36’
 }
 resp=requests.get(url,headers=headers)
 resp.encoding=‘utf-8’
 main_page=BeautifulSoup(resp.text,‘html.parser’)
 alist=main_page.find(‘div’,class_=‘egeli_pic_m center’).find_all(‘a’)
 #print(alist)
 for a in alist:
 href=a.get(‘href’)
 child_page_resp=requests.get(href)
 child_page_resp.encoding=‘utf-8’
 child_page_text=child_page_resp.text #拿到子页面源代码
 #获取下载路径
 child_page=BeautifulSoup(child_page_text,‘html.parser’)
 p=child_page.find(‘dd’)
 img=p.find(‘img’) #得到
 src=img.get(‘src’) #提取
#下载图片
#获取
img_resp=requests.get(src)
img_name = src.split('/')[-1]
#图片写入img文件夹中,img文件夹须先行创建
with open('img/'+img_name,mode='wb') as f:
    f.write(img_resp.content)
print('over!',img_name)
time.sleep(1)

print(‘all over!’)

四、运行结果

Python爬虫贴吧图片功能 python爬虫爬取图片代码_爬虫_04


在img文件夹里查看爬取的图片

Python爬虫贴吧图片功能 python爬虫爬取图片代码_python_05


Ding,到这里就顺利完成图片的爬取啦!

学习爬虫的路上,欢迎各位大佬提出宝贵意见。