python爬虫(自动下载图片)

爬虫第一步下载第三方工具(requests包):

win+R 输入cmd点击确定或回车

输入以下命令下载requests包:

requests包是python爬虫常用的包 他的下载方式是 pip install requsts 如果觉得下载太慢了在后面可以加个镜像源会有很大的提升

例:pip install requsts  -i https://pypi.tuna.tsinghua.edu.cn/simple 下面是五个常见的镜像源用那个都可以

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/ 

豆瓣:http://pypi.douban.com/simple

 

怎么查看有没有下载好requests包呢有两种方法:

一. pycharm方式查看:

                    在pyCharm文件项目中输入impot requ会有如图提示说明下载好了

二.指令方式查看:

                     win+R输入cmd点击确定输入pip list 是查看python全部第三方包,看有没有requests包,有说明下载好了,如图:

基础爬虫测试:

import  requests                        #  导包
url="https://www.baidu.com"             #  把网站地址给变量,用变量来接收利于后期修改

data = {'key1':'value1','key':value2'} # data是post请求使用
res=requests.get(url)                   #  向服务器发送请求,发送请求肯定有回应所以用变量res接受.这个是显示请求

res=requests.post(url,data)                    # 这个是隐式请求
res.encoding=res.apparent_encoding      #  res.encoding是设置字符编码,res.apparent_encoding是获取当前的字符编码

res 是接收服务器响应的一个内容.


print(res.text)                         #  以文本形式打印服务器响应的内容
运行结果:

 

3.有些网站防止他有反爬虫机制,弄个haeders,haeders是自己的用户信息在哪里查看呢!步骤如图:

     1. 在浏览器点击鼠标右键-检查:

 

               2. 点击Network

     

               3.随便点击以下文件

         4.点击Headers

        5.找到headers的最后一条的User-Agent复制一下:

 

4.创建beaders 例:

headers={

        

"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"

}

让request.get(url,headers=headers)

实例:

爬取站长素材的图片代码如下:

import requests
import re  
import os
number=int(input("请输入要下载几页"))
for i in range(number):
    if i!=0:
        url="https://sc.chinaz.com/tupian/huangsetupian_%s.html" %(i+1)
    else: url="https://sc.chinaz.com/tupian/huangsetupian.html"
    res=requests.get(url)
    f=open("第%s页.html" %(i+1),"wb")
    f.write(res.content)
    f.close()
    pattern = r'<img src2="(.*?)".*?>'
    html=res.text
    image_urls=re.findall(pattern,html)
    os.mkdir("../zhanzhang/第%s页"%(i+1))
    for image in image_urls:
        image_urls="https:"+image
        res=requests.get(image_urls)
        f=open("../zhanzhang/第%s页/%s" %((i+1),image_urls.split("/")[-1]),"wb")
        f.write(res.content)
        f.close()
print("完成")

这样就能快速下载很多图片了

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值