今天又是在网站寻找漂亮小姐姐的一天,发现一个网站还不错,就是有广告在窗口正中间

本来也没多大事,点一下就关闭了。但是在我手痒准备拿出我的F12大法的时候这个网站竟然把F12禁用了,这就勾起了我小小的战斗YW。
我先写了个简单的 requests.get()请求,发现并没有什么反爬的策略,直接就拿到页面源码

页面结构也很简单一目了然,所有数据标签列表是<div class="item col-xs-6 col-sm-4 col-md-3 col-lg-3">,这个列表又在<div id="masonry" class="archive row">这个标签下。所以用xpath解析就能拿到详情页的url了:

来的如此简单我也没有继续爬下去的理由了,就准备再看几个小姐姐撤退。
就在我看的正舒服的时候,这破网站的广告竟然突然大声响起音乐来了,吓老子一大跳,这可把我气坏了!!!!我偷偷看看小姐姐被这样一吓,xzqw。

这站长不讲武德,, 来骗 ,,来吓,,我二十几岁的小同志,,这好吗??? 这不好。

你不要我爬你图片我偏要爬,,还要开启多进程高速的爬。。
于是对拿到的详情页发起requests请求发现详情页跟首页的页面源码结构基本上一摸一样,那就好办了,再用xapth解析一下,
就好了。

res = requests.get(url=href, headers=headers).textx = etree.HTML(res)div_list1 = x.xpath('//div[@id="masonry"]/div')for d in div_list1:name = d.xpath('./img/@alt')[0]src = d.xpath('./img/@data-original')[0]

在首页看到美女一共有5页。
链接也很有规律

https://tupian.gq/beautiful-girls.html/2/https://tupian.gq/beautiful-girls.html/3/
https://tupian.gq/beautiful-girls.html/4/

写一个for循环就解决了

完整代码

import requests
from lxml import etree
from multiprocessing.dummy import Pool
import time
import os
# 创建保存图片的文件夹
if not os.path.exists('./caonima'):os.mkdir('./caonima')start = time.time()
url_x = 'https://tupian.gq/beautiful-girls.html/{}/'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}# 存放所有图片的链接和图片名
srcs = []
for i in range(1, 6):url = url_x.format(i)re = requests.get(url, headers=headers).texttree = etree.HTML(re)div_list = tree.xpath('//div[@id="masonry"]/div')for div in div_list:# 详情页链接href = div.xpath('.//a[@class="item-link"]/@href')[0]res = requests.get(url=href, headers=headers).textx = etree.HTML(res)div_list1 = x.xpath('//div[@id="masonry"]/div')for d in div_list1:try: # 发现有的图片可能没有标题,会报错,就直接做错误处理处理掉name = d.xpath('./img/@alt')[0]src = d.xpath('./img/@data-original')[0]# 拿到所有图片链接和图片名,以字典形式传入srcs列表中dic = {'name': name,'src': src}srcs.append(dic)print(name, 'get')except:print('站长大傻逼')# 存储图片
def get_img(dic):s = dic['src']name = dic['name']gugu = requests.get(url=s, headers=headers).contentwith open('./caonima/'+name+'.jpg', 'wb') as f:f.write(gugu)print(name, '保存ok')# 开启50个进程
pool = Pool(50)
#这里使用map函数,并且函数的参数为get_img(),以及函数中的参数srcs(这里为一个列表)
pool.map(get_img, srcs)
end = time.time()
print('共用时:', end-start, '秒')
# 关闭pool对象
pool.close()
# 等待所有进程结束
pool.join()

打完收工!!!!
速度还是可以的七十多秒,爬了4000多张图片。

站长起名还挺文艺,看着也不像坏人
就是广告接的不地道

python爬虫 打击无良网站弹窗广告相关推荐

  1. 网站弹窗广告进行宣传推广效果怎么样

    网站弹窗广告无疑会影响网站用户的体验度,尤其是用户刚进入网站就出现弹窗霸屏的现象,但从另一个角度来说网站弹窗广告又可以在一定程度上带来一定的流量. 网站弹窗广告具有一定的强制性,不管你喜欢不喜欢它都会 ...

  2. 记第一次Python爬虫-----五块五毛网站小说

    事情要从那个吃了蝙蝠的人开始说起(2020.02.03记)...... 一.前因 因为哪些个吃蝙蝠的人,让我有足够的时间和充分的理由,可以待在家不出门,也不会被嫌弃,于是,待久了,人总要无聊,于是开始 ...

  3. python爬虫 多线程 爬取网站排行榜上的所有小说

    python爬虫,多线程批量爬取多部小说 欢迎阅读 环境 获取排行榜top上的所有小说地址 分析排行榜top100页面的html,获取所有小说的url 遍历小说列表url到生成txt 多线程启动爬取任 ...

  4. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取

    如何用Python爬数据?(一)网页抓取 你期待已久的Python网络数据爬虫教程来了.本文为你演示如何从网页里找到感兴趣的链接和说明文字,抓取并存储到Excel. 需求 我在公众号后台,经常可以收到 ...

  5. img绝对路径图片显示_使用python爬虫去风景图片网站批量下载图片

    使用python爬虫(requests,BeautifulSoup)去风景图片网站批量下载图片 1.写代码背景: 今天闲来无事,想弄点图片放到电脑,方便以后使用,故去百度查找一些风景图片网站,发现图片 ...

  6. Python爬虫实战—vmgrils图片网站

    一.实战背景 唯美女生:https://www.vmgirls.com/ 少女情怀总是诗,一双发现美的眼睛! 工具:Python3.7,PyCharm 程序所需用到的模块:requests,fake_ ...

  7. Pycharm + python 爬虫简单爬取网站数据

    本文主要介绍简单的写一个爬取网站图片并将图片下载的python爬虫示例. 首先,python爬虫爬取数据,需要先了解工具包requests以及BeautifulSoup requests中文文档:ht ...

  8. 四、python爬虫抓取购物网站商品信息--图片价格名称

    本篇博客参考:python爬虫入门教程 http://blog.csdn.net/wxg694175346/article/category/1418998 Python爬虫爬取网页图片 http:/ ...

  9. Python爬虫学习教程 bilibili网站视频爬取!【附源码】

    Python爬虫学习教程,万物皆可爬!每个技术大牛都是从基础慢慢的提升上去的,基础知识越深以后的发展越牛!学好python,才能玩转python,那到底怎么才能学好python? 通过爬取b站案例带领 ...

最新文章

  1. Oracle数据库-主键(primary key)、外键(foreign key)、候选键(candidate key)、超键(super key)和references总结...
  2. J2EE的13种核心技术(一)
  3. NotePad++ 调试PHP代码中文显示乱码
  4. xdebug+webgrind
  5. 2022 年移动应用开发终极指南
  6. 餐厅点餐系统源码(带电脑端和手机端)
  7. 三对角矩阵行优先压缩存储---加法、减法、乘法、转置、秩、行列式值、伴随矩阵、逆
  8. 【Tools】Photoshop CS6安装详解教程
  9. c 语言万年历 节日查询,C语言 程序设计 节日查询和任务提醒系统万年历.doc
  10. 【阶段二】Python数据分析Pandas工具使用07篇:探索性数据分析:数据的描述:数据的集中趋势
  11. vivoy85a参数配置_vivo Y85手机详细配置参数和图鉴
  12. unity表情动画与动态捕捉表情
  13. u盘和计算机无法连接不上,U盘连接不上电脑怎么办
  14. Linux—教你两个方法轻松找回root密码
  15. Linux 魔法系统请求键骇客
  16. Samba(文件共享服务)
  17. msr颜色复原matlab程序,Retinex 图像去模糊(含MATLAB代码)
  18. 上海天旦网络携CrossFlow最新网络性能管理产品参加2012中国国际金融展
  19. 从玄学到网红,互联网企业取名有何学问?
  20. Java程序员从阿里、百度面试回来,这些面试题你们会吗?(文末福利)

热门文章

  1. Matlab 2015b 激活失效后,重新激活
  2. 用python在网页上爬【微博】用户发的微博(json解析)
  3. cockroachDB学习总结
  4. netMarketing类库: 类库说明
  5. 基于libVLC的视频播放器之二:使用VLC-Qt播放RTSP流
  6. 7080生化分析仪使用说明书—— 操作篇
  7. 线性代数(8): 生成空间与空间的基
  8. 【每天一个Python小知识】NumPy中的np.where
  9. 基本求导法则与求导公式
  10. [Nios][Eclipse] find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer