java中的接口是类吗
463
2022-09-01
Python爬虫入门实战项目——彼岸图网(python爬虫实践)
注意:本次爬虫仅为入门实战,爬取对象为彼岸图网,爬取图的分辨率大概都为1202✖️676
本次爬取采用的是requests+BeautifulSoup
1.爬取结果(话不多说,上图)
以上只是两张图片,更多就不一一放出来了。代码中只是爬取了4页图片,小伙伴们可以爬取更多内容。
第一页所有详情页图片如下
2.网页查看
彼岸图网:requestsfrom bs4 import BeautifulSoupimport os# 请求头信息headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"}# 找到并保存图片def download(path, data): # 参考图片辅助分析——图1,之后我就直接说参考图几了,小伙伴们注意点喽 ul = data.find(class_="slist").find_all("li") # 遍历li标签 for li in ul: # 使用BeautifulSoup进行解析 li_data = BeautifulSoup(str(li), "html.parser") # 参考图2 # 详情页url,注意获取的url不是全路径,我们还要拼接下前面的域名 page_url = "+ li_data.find("a")['href'] # 图片名称 title = li_data.find("img")['alt'] # 对详情页发起请求 page_data = requests.get(url=page_url, headers=headers) # 解析 response_data = BeautifulSoup(page_data.text, "html.parser") # 获取详情页图片url,参考图3,注意拼接域名 img_url = "+ response_data.find(class_="photo-pic").find("img")['src'] # 对图片URL发起请求 注意: .content使用二进制数据,不使用就会报错 img_res = requests.get(url=img_url, headers=headers).content # 保存图片 with open(path + "/" + title + ".jpg", "wb") as f: print("正在保存:" + title) f.write(img_res)# 开始if __name__ == '__main__': # 定义保存文件夹路径 path = "./图片" # 如果不存在 if not os.path.exists(path): # 创建该文件夹 os.mkdir(path) # 多页爬取,这里爬取的是4页 for i in range(1, 5): # 这里我们做精细一点,再对图片进行不同页数的区分 data_path = path + "/" + str(i) if not os.path.exists(data_path): os.mkdir(data_path) # 第一页比较特殊,我们进行if判断 if i == 1: url = " else: #其他的页数直接拼接就好,注意 i 要为str类型 url = "+ str(i) + ".html" # 发起请求 response = requests.get(url=url, headers=headers) # 注意设置编码,不然都是一堆乱码 response.encoding = 'gbk' # 使用BeautifulSoup进行解析 data = BeautifulSoup(response.text, "html.parser") # 将保存路径和请求后的数据传给 download download(data_path, data)
4.图片辅助分析
5.运行结果:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
评论列表
您的文章观点鲜明,论述有力,具有很强的说服力。您的文章观点独到,让人在阅读中获得新的视角和思考。https://www.laishike.com/laishike/2073.html