赞
踩
- import os
- import re
- #创建一个文件夹
- if not os.path.exists('./fenyeTupian'):
- os.mkdir('./fenyeTupian')
- #请求网页(分页爬取,通用的url模板)
- url = "https://tieba.baidu.com/f?kw=赵丽颖pn=%d"
- headers = {
- 'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
- }
- # pnNum = 0 #起始页
- for pnNum in range(0,11):
- #对应页码的url
- new_url = format(url%pnNum)
-
- #使用通用爬虫对整张页面进行爬取
- page_text = requests.get(url=new_url,headers=headers).text #获取源码数据,字符形式
-
-
- #使用聚焦爬虫将所有页面的的图片进行提取
- ex = r'<img.*?src="(.*?)".*?>'
- img_src_list = re.findall(ex,page_text,re.S) #re.S单行匹配 正则用于数据解析,一定是re.S。findall返回列表
- # print(img_src_list)
- for src in img_src_list:
- src = "https:" + src #一张图片完整的图片地址URL
- img_data = requests.get(url=src,headers=headers).content #请求到图片形式的二进制数据
- #生成图片名称
- img_name =src.split('/')[-1]
- print(img_name)
- #图片存储的路径
- imgPath = "./fenyeTupian" + img_name
- with open(imgPath,"wb") as fp:
- fp.write(img_data)
- print(img_name,"下载成功!")
1,分页爬取数据:改变url中的相关页码参数format形成通用url模板
#通用url url = "https://tieba.baidu.com/f?kw=赵丽颖&pn=%d" for pnNum in range(0,3): new_url = format(url%pnNum) #重新对每个页面进行请求和提取数据 page_text = requests.get(url=new_url,headers=headers) #聚焦爬取页面指定的all图片数据 ex = r'<img.*?src="(.*?).*?">' img_lists = re.findall(ex,page_text,re.S) #列表数据,取出列表元素进行处理
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。