python 两行爬虫代码打包美女图片

第一篇使用了find CSS 选择器 爬取了前100名医院的数据,今天使用request-html 的 xpath 方法自动分页下载高清美女图。

一 分析网页元素
在这里插入图片描述

发现整个feed流是div (class =TypeList)包裹的一个Table,img 在a标签里面,先下载一个图片在本地观察下,你会发现图片是缩略图,只要有些开发经验的人都知道,这是最基础的优化方法,详情通常是高清图,我们对比下URL

缩略图
https://kr.shanghai-jiuxin.com/file/2021/0317/small22f2d96cb7211c4f936d12165ade275f.jpg
原图
http://kr.shanghai-jiuxin.com/file/2021/0317/22f2d96cb7211c4f936d12165ade275f.jpg

我们会发现缩略图只多了一个small 小的单词、还好规律比较简单,要不就麻烦了。

二 脚本代码

# coding=UTF-8
from requests_html import HTMLSession
import urllib.request
import time
#链接网页站点
session = HTMLSession()
page = 1
#先爬取两页数据
while page <= 2:
  url = 'https://www.umei.cc/bizhitupian/meinvbizhi/'+ str(page) + '.htm'
  page += 1
  r = session.get(url)
  data = r.html.xpath("//div[@class='TypeList']/ul/li/a/img")
  #获取feed流标题
  #content = r.html.xpath("//div[@class='TypeList']/ul/li/a/span/text()")
​
  for items in data:
     smallImgUrl = items.find("img",first=True).attrs['src']
     #保存高清图片,去掉url里的small就是原图
     bigImgUrl = smallImgUrl.replace("small","")
     t = int(round(time.time() * 1000))  # 毫秒级时间戳
     path = '/Users/lsr/Documents/GJProject/py/girls/' + str(t) + ".jpg"
     urllib.request.urlretrieve(bigImgUrl,path)
​

核心代码
#根据TypeList找到整个列表节点,然后根据路径提取所有img

data = r.html.xpath("//div[@class='TypeList']/ul/li/a/img")
  #循环遍历数组data,提取img的scr属性值。
smallImgUrl = items.find("img",first=True).attrs['src']

三 爬取结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值