python跳过登录获取图片

前言

当我们在网上看到喜欢的图片想要下载保存时,可能会遇到让你登录或者是微信关注公众号等等一些情况。这时,我们就可以通过爬虫来获取我们想要的图片了。

准备工作

首先我们需要先引入第三方库

import requests
import time
from bs4 import BeautifulSoup

大致步骤

1.获取源网页的url
2.对网页进行解析
3.从源网页中获取子网页的url
4.对子网页进行解析
5.从子网页中获取图片的下载链接
6.保存图片到指定位置

全部代码

import requests
import time
from bs4 import BeautifulSoup
url="https://pic.netbian.com/4kdongman/index.html"
main_url="https://pic.netbian.com"
#得到父网页的源代码
resp=requests.get(url)
#编码方式为gbk
resp.encoding='gbk'
#对网页进行解析
main_page=BeautifulSoup(resp.text,"html.parser")
#在父网页中搜索子网页的url
alist=main_page.find("ul",class_="clearfix").find_all("a")
for a in alist:
    #拼接得到子网页的url
    chil_page_url=main_url+a.get("href")
    #得到子网页的源代码
    chil_page_resp=requests.get(chil_page_url)
    # 编码方式为gbk
    chil_page_resp.encoding='gbk'
    #得到图片所在网页的源代码
    chil_page_text=chil_page_resp.text
    #print(chil_page_text)
    # 对网页进行解析
    chil_page=BeautifulSoup(chil_page_text,"html.parser")
    #找到网页中图片所在的位置
    p=chil_page.find("a",id="img")
    #print(p)
    img=p.find("img")
    #图片名称
    img_name=img.get("title")+'.jpg'
    print(img_name)
    #图片所在的网页
    img_url=main_url+img.get("src")
    print(img_url)
    img_resp=requests.get(img_url)
    #保存图片
    with open(img_name,mode="wb") as f:
        f.write(img_resp.content)
    print(img_name,"下载完成!!!")
    time.sleep(1)
print("全部保存完成!!!")

总结

对于网页的解析主流的方法有:正则表达式,Beautifulsoup,xpath这三中方法,本文用的是Beautifulsoup的解析方法,感兴趣的小伙伴还可以试试其他的两种方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值