煎蛋网怎么看原图(在煎蛋网爬取美女图片)

煎蛋网站

 

很多朋友都反应学 python 语言太枯燥,学不进去,其实学语言最好的方法是自己用所学的语言做项目,在项目中学习语言的用法。今天给大家带来的项目是用 python3 爬取煎蛋网妹子的图片。图片质量还不错,我放两张图片大家感受下。

 

 

这个项目用了 requests + selenium + beautifulsoup 库对网站的图片进行抓取。接下来我就,给大家一步步解析一下,怎么用 python 爬虫爬取图片并下载的。

爬取结果

 

以上就是爬取的结果,通过运行 meizi.py 代码,就可以把图片保存在我指定的目录下,如果没有此目录,就用程序自动创建目录,爬取的所有图片都保存在此目录下。

程序构造

 

程序主要是由 6 个函数组成:

  • get_html() :利用 webdriver 来请求对应的网站。
  • get_page():解析面跳转地址。
  • mkdir():判断目录是否存在,不存在就创建一个。
  • get_pic():提取图片链接。
  • download():通过图片链接下载保存。
  • main():程序执行的主函数。

程序思路

  1. 对目标网站链接进行分析,找出目标网站链接的规律。
  2. 从目标网站里面提取图片链接。
  3. 将图片下载并保存在目录中。

源代码分析

我们通过f12调试页面,看到图片的链接,发现此链接并没有在源代码中,我们推测,图片应该是通过 js 加载的,对于需要 js 才能加载出来的网站,我们就可以利用 selenium 的自动化测试请求库来进行加载。利用 selenium 请求可以模拟真实浏览器访问。

1browser = webdriver.Chrome()

2wait = WebDriverWait(browser, 3)

利用 selenium 请求网页需要下载 chrome 驱动放在 python 安装目录下。

分页链接分析

1def get_page():

2 base_url = 'http://jandan.net/ooxx/' #第一次进入的原始地址

3 soup = BeautifulSoup(get_html(base_url), 'lxml') #解析原始地址

4 current_pages=soup.select('.cp-pagenavi .current-comment-page')[0].get_text()[1:-1] #取出当前页面字段

5 urllist = []

6 for page in range(1,int(current_pages)+1):

7 real_url=base_url+'page-'+str(page)+'#comments' #拼出分页地址

8 urllist.append(real_url)

9 return urllist #返回所有分页地址列表

原始链接 base_url = ‘http://jandan.net/ooxx/’,当我们点击下一页时,发现在原始链接的后面加了一段「page-52#comments」。

其中加的数字,就是表示现在所在的页数,通过 BeautifulSoup 库对页面进行解析,用选择器提取表示页数的字段「current-comment-page」,加入到原始链接中进行拼接。

创建目录

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,'lxml')

6 allimgs=soup.select('div .text p img')

7 allimgs=re.findall('src="(.*?)"',str(allimgs))

8 download(allimgs)

9 print("下载完毕!")

用 os.path.exists 方法来个判断,如果不存在此目录就创建一个,如果存在就忽略。

提取图片

1def get_pic():

2 for url in get_page():

3 mkdir()

4 html=get_html(url)

5 soup=BeautifulSoup(html,'lxml')

6 allimgs=soup.select('div .text p img')

7 allimgs=re.findall('src="(.*?)"',str(allimgs))

8 download(allimgs)

9 print("下载完毕!")

用 BeautifulSoup 解析源码,用选择器循环提取图片的链接,并调用 download() 函数下载图片直至下载所有图片。

优化改进

本次的程序还有一些不足的地方,比如利用 selenium 库在爬取的时候非常的慢,每页我还设置了 3 秒等待时间,这部分待优化。还有所有页面的图片都保存在一个目录下,没有分开保存,这部分也可以优化。

这波教程不点个关注,说不过去吧?哈哈。这个网站有很多福利,我只能说大家注意身体啊。

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。

相关推荐

  • 电信的卡怎么包流量(电信卡怎么包流量套餐)

    一、原套餐详情 1、原资费39元30G定向流量+5G通用流量; 2、套餐外流量5元/G,通话0.1元/分钟,短彩信0.1元/条,国内接听免费 二、优惠后套餐详情 激活过程中首充1000元享受以下优惠,不充值无法享受: 1、激活后立即到账100G通用流量(有效期25个月) 2、激活后立即到账100分钟通话(有效期25个月) 3、次月起系统每月减免10元月租(减…

    2023-05-27
  • r101t06漫步者音响(漫步者音响r101v怎么连接)

    说起漫步者系列,可以说,不管在国内还是在国外都有着一定的名气。毕竟漫步者创立于1996年,是目前以来,排名国内前三,全球领先地位的一款专业多媒体音箱企业。   也正是因为漫步者多年以来专注于音频技术的研究开发与产品的应用,旗下的产品有着赖以信赖的支持者,那么我们话不多说,我们来今天说的这一款可以说是大众款漫步者R101V。 说起漫步者R101V,我…

    2023-07-07 用户投稿
  • 有什么流量卡吗(什么流量卡好用)

    进入主题之前,我先给大家讲个小故事吧! 很多人都说,异地恋不就是挂着有对象的名号过着单身狗的生活吗?相信大多数的人都谈过一场异地恋,隔着屏幕,穿行在不一样的城市,不一样的街道,进不同的饭店,逛不同的商场。总是在计划着下一次的相见。 对于异地恋来说,往往两个人很长时间才能见到对方一面。因为长时间的分隔在两地,所以两个人之间很有可能会产生矛盾的。对于异地恋来说,…

    2023-05-24 用户投稿
  • 小米移动不限速流量卡无限(学生防沉迷手机有哪些)

    移动互联网时代,人们获取信息的方式越来越容易,对手机的依赖程度逐渐加深。十几年前诞生的词汇“网瘾”放到今天来看,其实并不夸张。 根据2020年的调查,全国每天人均的手机时长已经达到了100分钟。如果除去老幼这类没有智能手机的人群,可以估算出人均使用手机时长要翻倍,达到200分钟。 面对手机泛滥的状况,大人们早已沦陷,孩子们的自控力更加薄弱,游戏短视频容易沉迷…

    2023-06-18 用户投稿
  • 属于javascript对象的有,ajax一切正常却出不来结果怎么办呢

    利用jQuery可以将结构(Html)、美化(Css)与交互(JavaScript)的部分有效的分离,从而让页面得到良好的可读性。 利用jQuery开发程序的步骤如下: 1、将jquery-1.11.3.js **到工程的js目录下 2、 在当前页面利用 这种时候就会出现ajax没有触发的情况,这时将 放在之前,才会正常显示。 当遇到代码没有问题,可结果就是…

    2023-07-10
  • 中国移动千兆宽带,迅雷下载慢怎么办

    移动的千兆网络,用迅雷下载热门视频《县委大院》,峰值也就20m/s,怎么回事呢? 听说故事是这样的,“移动”去“电信”或“联通”那里,花2000元办了包年的100M宽带,然后“移动”买了千兆的交换机和路由,在自己小区里组建了一个千兆局域网。 接着“移动”在自家小区的走廊上到处贴小广告,广告内容是“100M宽带只需500元包年!”小区的邻居一看,太便宜啦!马上…

    2023-07-06
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。