py爬虫学习3.1-3.2

1.前言

爬虫真的难!

2.学习内容

2.1图片数据爬取

 #需求:爬取糗事百科中糗图板块下所有的糗图图片
 import requests
 if __name__ == '__main__':
     #如何爬取图片数据
     url='https://pic.qiushibaike.com/system/pictures/12487/124871233/medium/VZ7XN8XIPCOGTQVT.jpg'
     # .content返回的是二进制图片数据 (图片是二进制)
     #text返回的是字符串形式的图片数据,content是二进制 json()返回的是对象类型的数据
     img_data=requests.get(url=url).content
 ​
     with open('.qiutu.jpg','wb') as fp:
         fp.write(img_data)

2.2正则案例解析

 import requests
 import re
 import os
 if __name__ == '__main__':
     #创建一个文件夹用来保存所有图片
     if not os.path.exists('.qiutuLibs'):
         os.mkdir('qiutuLibs')
 ​
     url='https://www.qiushibaike.com/imgrank/'
     headers = {
         'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4508.400'
             }
     #使用通用爬虫对url对应的一整张页面进行爬取
     page_text=requests.get(url=url,headers=headers).text#什么时候用post,什么时候用get?看抓包工具里的Request Method
     #使用聚焦爬虫将页面中所有的糗图进行提取
         #< div class ="thumb" >
         #< a href = "/article/124878565" target = "_blank" >
         #< img src = "//pic.qiushibaike.com/system/pictures/12487/124878565/medium/N81D0YEUYNJ0PS3G.jpg" alt = "糗事#124878565"class ="illustration" width="100%" height="auto" >
         #< / a >
         #< / div >
     ex='<div class="thumb">.*?<img src=''(.*?)'' alt.*?</div>'#?
     img_src_list=re.findall(ex,page_text,re.S)#re.S叫做单行匹配  re.M叫做多行匹配
     #print(img_src_list)#一开始输出的空列表,后来换个headers解决了
     for src in img_src_list:
         #拼接出完整的图片地址
         src='https:'+src
         #请求到了图片二进制数据
         img_data=requests.get(url=src,headers=headers).content
         #生成图片
         img_name=src.split('/')[-1]#-1就是倒数第一,也就是最后一个值
         #图片存储的路径
         img_Path='./qiutuLibs/'+img_name
         with open(img_Path,'wb') as fp:
             fp.write(img_data)
             print(img_name,'下载成功!!!!!')

这个程序是爬取糗图百科里面的热图板块第一页的所有图片,但是提示我

raise InvalidURL("Invalid URL %r: No host supplied" % url) requests.exceptions.InvalidURL: Invalid URL 'https:"//pic.qiushibaike.com/system/pictures/12487/124879328/medium/DG93LEKNXNAQAKFQ.jpg"': No host supplied

3.结束语

每天进度太慢了,主要是跟着老师的程序敲都做不出来,其实也正常!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值