今天上课老师竟然要求爬取好看的图片。 噢,是你说的哦!!!
于是小卢马上开干,找到的好看的百度贴吧,嘻嘻,要知道 好看的图片贴吧可很多
明确需求:
# 利用正则表达式爬取百度贴吧中的图片一翻操作终于得到了以下代码,并成功完成了需求
import requests import re import os #创建一个文件夹,保存所有的图片 if not os.path.exists('./img'): os.mkdir('./img') # 1.指定url url='https://tieba.baidu.com/p/6282290065?pn={}' # 设置请求头 header= { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36' } for pn in range(1, 9): # 对应页码的url new_url = url.format(pn) page_text= requests.get(url=new_url,headers=header).text print(page_text) # 设置正则 ex= '' mg_src_list = re.findall(ex,page_text,re.S) for src_url in mg_src_list: img_data= requests.get(url=src_url,headers=header).content img_name = src_url.split('/')[-1] # print(img_name) imgPath = './img/' + img_name with open(imgPath, 'wb') as fp: fp.write(img_data) print(img_name, '下载成功!!!')
经过实践后,小卢举一反三,又想能不能看看糗事百科的呢?
于是有了下面的操作
# 利用正则表达式爬取糗事百科热图中的图片import requests import re import os from time import sleep # 需求:爬取糗事百科中糗图板块下前三页的糗图图片 # 创建一个文件夹,保存所有的图片 if not os.path.exists('./img'): os.mkdir('./img') # 1.指定url url = 'https://www.qiushibaike.com/imgrank/page/{}/' # 设置请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36' } # 设置前3页的url for i in range(0, 3): new_url = url.format(i) # 使用通用爬虫对url对应的一整张页面进行爬取 page_text = requests.get(url=new_url, headers=headers).text sleep(2) # 设置正则 # 使用聚焦爬虫将页面中所有的糗图进行解析/提取 ex = '.*?' img_src_list = re.findall(ex, page_text, re.S) print(img_src_list) for src in img_src_list: # 拼接出一个完整的图片url src = 'https:' + src # 发起图片的请求并获取响应 img_data = requests.get(url=src, headers=headers).content # 设置图片名称 img_name = src.split('/')[-1] # 设置图片保存地址 imgPath = './img/'+img_name # 存储图片 with open(imgPath, 'wb')as f: f.write(img_data) print(img_name, '下载成功')
(水平有限,只求实现,大佬看着乐乐吧)