当前位置:   article > 正文

百度图片的爬取(python)_爬取图片加content

爬取图片加content

一,构建框架 

1,导入项目所需要的库

  1. # 导入需要的库
  2. import os
  3. import re
  4. import requests

2,获取网站源码

  1. # 获取网站源码
  2. def get_html(url, header, params):
  3. response = requests.get(url, headers=header, params=params)
  4. # 源码的编码方式
  5. response.encoding = "utf_8"
  6. # 利用循环判断网页能否打开
  7. if response.status_code ==200:
  8. return response.text
  9. else:
  10. print("网址源码获取错误")

 3,解析提取图片的源址

  1. # 解析提取图片的源地址
  2. def parse_pic_url(html):
  3. result = re.findall('thumbURL": "(.*?)"', html, re.S)
  4. return result

4, 获取图片二进制源码

  1. # 获取图片二进制源码
  2. def get_pic_content(url):
  3. response = requests.get(url)
  4. return response.content

5,创建文件夹对图片保存

  1. # 定义一个文件夹保存
  2. def create_fold(fold_name):
  3. # 加异常处理
  4. try:
  5. os.mkdir(fold_name)
  6. except:
  7. print("文件夹已存在")
'
运行

6,保存图片

  1. # 保存图片
  2. def save_pic(fold_name, content, pic_name):
  3. with open(fold_name + "/" + str(pic_name) + ".jpg", "wb") as f:
  4. f.write(content)
  5. f.close

7,定义main函数对调用get_html函数

  1. #定义main函数调用get_html函数
  2. def main():
  3. #输入文件夹名字
  4. fold_name = input("请输入图片名:")
  5. #输入你要抓取的数量
  6. page_num = input("请输入你要抓取的页数:")
  7. #调用函数,创建文件夹
  8. create_fold(fold_name)
  9. #定义图片名字
  10. pic_name = 0
  11. #构建循环.控制页面
  12. for i in range(int(page_num)):
  13. url =
  14. headers = {}
  15. params = {}
  16. html = get_html(url, headers, params)
  17. result = parse_pic_url(html)
  18. # 使用for循环遍历列表
  19. for item in result:
  20. # 调用函数,获取二进制源码
  21. pic_content = get_pic_content(item)
  22. save_pic(fold_name, pic_content, pic_name)
  23. pic_name += 1
  24. print("正在保存第" + str(pic_name))
  25. # 执行main函数
  26. if __name__ == '__main__':
  27. main()

 二,图片爬取

1,导入数据

        打开浏览器搜索要爬取的图片,以大熊猫为例

         单击鼠标右键检查(F12)

选中网络,选择Fetch/XHR,刷新界面一直下拉,acjson就会一直增加

 选择一个acjson文件选择标头,复制"请求URL"

 

对该页面往下翻,并复制框中信息粘贴在header中(注:粘贴时优先打三对双引号注释后再粘贴,这样能够最高程度避免粘贴胡乱换行的情况)

粘贴完成后,分别给左边名称和右边信息添加双引号(已有双引号就加单引号) 

 

 

 回到网页选择负载,复制内容粘贴在params中

 同样在两边添加双引号,同时删除没有内容的词条

 (pn原数据为60,这里已修改)

完成后就可以正常爬取图片了

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/801093?site
推荐阅读
相关标签
  

闽ICP备14008679号