当前位置:   article > 正文

简易爬虫教程爬取4K高清图片_爬取图片

爬取图片

 

1.1 网址

# 谷歌浏览器http://www.netbian.com/weimei/

1.2 查看网页源代码

1 直接获取会遇到防火墙,添加verify=False去掉安全认证# 2 response.encoding = 'gbk'需要考虑原页面的代码# 查看代码中charest然后设定格式
*- 网址特点需要二进宫,进入该网址然后将结果输出

爬取数据

2.1 导入包

import requestsfrom bs4 import BeautifulSoup

2.2 获取数据

url= 'http://www.netbian.com/weimei/'headers = {    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"}
# 获取主页面的页面的源代码并处理文字response = requests.get(url,headers=headers,verify=False)response.encoding = 'gbk'print(response.text)

2.3 解析数据

# 主页面的源代码交给bs4domain = 'http://www.netbian.com/'main_page = BeautifulSoup(response.text,"html.parser")a_list = main_page.find("div",class_="list").find_all("a")   # 范围第一次缩小a_list​​​​​​

*- 提取到的内容:href="/desk/23552.htm"
*- 实际网址:http://www.netbian.com/desk/23552.htm
*- 解决思路domain = 'http://www.netbian.com/'href = domain + b 获取第二次爬取的链接进入子链接后查看网页源代码——>通过获取信息下载该图片

2.4 下载数据

# 获取子页面的链接并进入子页面for a  in a_list:    b = a.get("href").strip("/")    if b.startswith('desk'):     # 判断开头        href = domain + b        # 直接通过get获取相关图片的链接                                                   child_response = requests.get(href,headers=headers,verify=False)    child_response.encoding = 'gbk'    child_page_text = child_response.text         # 获取子页面的内容
    child_page = BeautifulSoup(child_page_text,"html.parser")    div = child_page.find("div",class_="endpage")   # 范围第二次缩小
    img = div.find("img")          # 发现整个链接前一个    src = img.get("src")           #  需要什么属性就get什么,获取高清图片链接        # 下载图片    img_response = requests.get(src)
    # 图片内容下载到文件    img_name = src.split("/")[-1]   # 定义名字    with open("img2/"+img_name,mode="wb") as f:        f.write(img_response.content)
    print("over!",img_name)
print('all over !!!')

Python源代码

  1. import requests
  2. from bs4 import BeautifulSoup
  3. url= 'http://www.netbian.com/weimei/'
  4. headers = {
  5. "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
  6. }
  7. # 获取主页面的页面的源代码并处理文字
  8. response = requests.get(url,headers=headers,verify=False)
  9. response.encoding = 'gbk'
  10. print(response.text)
  11. # 主页面的源代码交给bs4
  12. domain = 'http://www.netbian.com/'
  13. main_page = BeautifulSoup(response.text,"html.parser")
  14. a_list = main_page.find("div",class_="list").find_all("a") # 范围第一次缩小
  15. a_list
  16. # 获取子页面的链接并进入子页面
  17. for a in a_list:
  18. b = a.get("href").strip("/")
  19. if b.startswith('desk'): # 判断开头
  20. href = domain + b # 直接通过get获取相关图片的链接
  21. child_response = requests.get(href, headers=headers, verify=False)
  22. child_response.encoding = 'gbk'
  23. child_page_text = child_response.text # 获取子页面的内容
  24. child_page = BeautifulSoup(child_page_text, "html.parser")
  25. div = child_page.find("div", class_="endpage") # 范围第二次缩小
  26. img = div.find("img") # 发现整个链接前一个
  27. src = img.get("src") # 需要什么属性就get什么,获取高清图片链接
  28. # 下载图片
  29. img_response = requests.get(src)
  30. # 图片内容下载到文件
  31. img_name = src.split("/")[-1] # 定义名字
  32. with open("img2/" + img_name, mode="wb") as f:
  33. f.write(img_response.content)
  34. print("over!", img_name)
  35. print('all over !!!')

 下载图片之前要建立文件夹

 下载图片之前要建立文件夹

 下载图片之前要建立文件夹

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

闽ICP备14008679号