忍着鼻血写代码

今天写一个简单的网上爬虫,爬取一个叫妹子图的网站里面所有妹子的图片。

然后试着先爬取了三页,大概有七百多张图片吧!各个诱人的很,有兴趣的同学可以一起来爬一下,大佬级程序员勿喷,简单爬虫。

废话不多说 直接上代码

网站地址:http://www.meizitu.com/a/more_1.html

from bs4 import BeautifulSoup
import random,os,requests headers = {
'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:58.0) Gecko/20100101",
'Referer': "http://i.meizitu.net"
} def home_page(num,num2,headers):
list_url = []
for num in range(num,num2+1):
url = "http://www.meizitu.com/a/more_%d.html"%num
req = requests.get(url,headers=headers)
req.encoding = req.apparent_encoding
html = req.text
bf = BeautifulSoup(html,'lxml')
targets_url = bf.find_all(class_="pic")
for each in targets_url:
list_url.append(each.a.get('href'))
return list_url def deal_page(headers,list_url):
list_url2 = []
for targets_url2 in list_url:
req = requests.get(targets_url2,headers=headers)
req.encoding = "utf-8"
html2 = req.text
bf2 = BeautifulSoup(html2,'lxml')
targets_url3 = bf2.find_all(id="picture")
# print(targets_url3)
list_url2.append(targets_url3)
return list_url2 def download(headers,list_url2):
list_url3 = []
# ================================
print(list_url2)
import re
urls = re.findall(r'http.*?jpg',str(list_url2))
print(urls,len(urls))
for endurl in urls:
filename = (endurl.split('/')[-3]) + (endurl.split('/')[-2]) +(endurl.split('/')[-1])
print(endurl)
print(filename)
req3 = requests.get(endurl, headers=headers)
root = "//Users//apple//Desktop//meizitu//"
path = root + str(random.randrange(10000)) + filename
if not os.path.exists(path):
with open(path, 'wb') as f:
f.write(req3.content)
f.close()
print("下载完成") if __name__ == '__main__':
num = int(input("请输入要爬取的起始页:"))
num2 = int(input("请输入终止页:"))
a = home_page(num,num2,headers)
b = deal_page(headers, a)
download(headers, b)

  

用python写一个爬虫——爬取性感小姐姐的更多相关文章

  1. Python写网络爬虫爬取腾讯新闻内容

    最近学了一段时间的Python,想写个爬虫,去网上找了找,然后参考了一下自己写了一个爬取给定页面的爬虫. Python的第三方库特别强大,提供了两个比较强大的库,一个requests, 另外一个Bea ...

  2. Python编写网页爬虫爬取oj上的代码信息

    OJ升级,代码可能会丢失. 所以要事先备份. 一開始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启示和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 p ...

  3. Python爬虫:爬取美拍小姐姐视频

    最近在写一个应用,需要收集微博上一些热门的视频,像这些小视频一般都来自秒拍,微拍,美拍和新浪视频,而且没有下载的选项,所以只能动脑想想办法了. 第一步 分析网页源码. 例如:http://video. ...

  4. python爬取快手小姐姐视频

    流程分析 一.导入需要的三方库 import re #正则表表达式文字匹配 import requests #指定url,获取网页数据 import json #转化json格式 import os ...

  5. 如何手动写一个Python脚本自动爬取Bilibili小视频

    如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...

  6. Hello Python!用 Python 写一个抓取 CSDN 博客文章的简单爬虫

    网络上一提到 Python,总会有一些不知道是黑还是粉的人大喊着:Python 是世界上最好的语言.最近利用业余时间体验了下 Python 语言,并写了个爬虫爬取我 csdn 上关注的几个大神的博客, ...

  7. 一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

  8. 使用Python爬虫爬取网络美女图片

    代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...

  9. Python爬虫爬取数据的步骤

    爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多 ...

随机推荐

  1. java Map集合学习

    学习语法还是从例子着手: FileDao fileDao=new FileBeanDaoImpl(); FileBean fileBean=new FileBean(); listBean=fileD ...

  2. ASP.NET WEB API 返回JSON 出现2个双引号问题

    前言          在使用ASP.NET WEB API时,我想在某个方法返回JSON格式的数据,于是首先想到的就是手动构建JSON字符串,如:"{\"result\" ...

  3. .Net应用程序 参照的组合没有安装在您的系统中。 HRESULT: 0x800736B3

    同事打开一个.Net的应用程序链接,一直无法启动.错误信息为: 啓用xx.application 時發生例外狀況. 已偵測到下列失敗訊息:參照的組合沒有安裝在您的系統中. (發生例外狀況於 HRESU ...

  4. JS获取用户的Ip地址

    在网站中通常需要获取使用者的ip地址,获取抵制的方式有很多,这里就简单介绍一下js获取用户ip地址 /*使用的新浪的ip查询api,根据返回的数据进行判断*/ <script src=" ...

  5. Ruby for Sketchup 贪吃蛇演示源码(naive_snake)

    sketchup是非常简单易用的三维建模软件,可以利用ruby 做二次开发, api文档 http://www.rbc321.cn/api 今天在su中做了一款小游戏 贪吃蛇,说一下步骤 展示 主要思 ...

  6. 记录JavaScript中使用keyup事件做输入验证(附event.keyCode表)

    input的blur事件 $("#input-name").blur(function () { var value = $(this).val(); if (value === ...

  7. AtomicBoolean

    它的两种用法: 1.保证某段语句只执行一次. 首先我们要知道compareAndSet的作用,判断对象当时内部值是否为第一个参数,如果是则更新为第二个参数,且返回ture,否则返回false.那么默认 ...

  8. Vue 部署单页应用,刷新页面 404/502 报错

    在 Vue 项目中,可以选择 hash或者 history.pushState() 实现路由跳转.如果在路由中使用history模式: export default new Router({ mode ...

  9. Spring中AOP切面编程学习笔记

    注解方式实现aop我们主要分为如下几个步骤: 1.在切面类(为切点服务的类)前用@Aspect注释修饰,声明为一个切面类. 2.用@Pointcut注释声明一个切点,目的是为了告诉切面,谁是它的服务对 ...

  10. centos6创建用户,设置ssh登录

    创建用户 #创建用户 useradd -s /sbin/nologin mysql useradd –d /usr/china -m china #设置密码 passwd mysql passwd c ...