又写了个爬取小姐姐图片的爬虫,(比上次写的稍微复杂了点)

 1 #导入模块
 2 import requests,os,sys,re
 3 from bs4 import BeautifulSoup
 4
 5
 6 #创建文件夹
 7 path = os.getcwd()
 8 new_path = os.path.join(path,‘小姐姐‘)
 9 if  not os.path.isdir(new_path):
10     os.mkdir(new_path)
11
12 #开始写爬虫的主体程序
13
14 #爬虫头部信息,有些网站要有头部信息,不然爬取不到(具体为什么可以自行百度)
15 headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36‘}
16 response = requests.get(‘http://www.mmonly.cc/tag/ltmn/‘,headers = headers)
17 # print(response)
18
19 #转码编译,response.content 得到的是二进制字符流
20 con = response.content.decode(‘gb18030‘)
21 soup = BeautifulSoup(con,‘lxml‘)  #申明获取页面的解析用的解释器
22 #找到class为ABox的标签
23 my_gril = soup.select(‘.ABox ‘)
24 # print(soup)
25 # print(my_gril)
26 #利用for in 循环迭代找到套图的网址
27 for gril in my_gril:
28     j = gril.find(‘a‘)
29     link = j.get(‘href‘)
30     flink = link
31     # print(flink)
32     response = requests.get(flink)
33     con1 = response.content.decode(‘gb18030‘)
34     soup1 = BeautifulSoup(con1,‘lxml‘)
35     # print(con1)
36     #找到class为pages 下的所有a标签
37     my_gril1 = soup1.select(‘.pages ul li a‘)
38     # print(my_gril1)
39     #得到第一个a标签的内容
40     s = my_gril1[0].get_text()
41     #利用正则,得到图片的总数(网站是一张图片一页,也就是得到套图的页数)
42     num = int(re.sub(‘\D‘,‘‘,s))
43     # print(num)
44 #利用for in 循环迭代得到每张图片对应的网址
45     for page in range(1,(num+1)):
46         if page == 1:
47             flink1 = link
48         else:
49             flink1 = link.replace(‘.html‘,‘_%s.html‘ % page)
50         response = requests.get(flink1)
51         con2 = response.content.decode(‘gb18030‘)
52         soup2 = BeautifulSoup(con2,‘lxml‘)
53         my_gril2 = soup2.select(‘#big-pic img‘)
54         # print(my_gril2)
55         # 找到图片
56         for pic in my_gril2:
57             pic_link = pic.get(‘src‘)
58             flink2 = pic_link
59             # print(flink2)
60             response =requests.get(flink2)
61             con3 = response.content
62             #将图片写入‘小姐姐‘文件夹中
63             with open(u‘小姐姐‘ + ‘/‘ + flink2[-11:], ‘wb‘) as code:
64                 code.write(con3)
65
66 #最后提醒:强撸灰灰湮灭

以前写的算只是爬取了一个套图里的多张图片,现在的是爬取了一个分类下的所有套图中的所有图片(受不鸟,受不鸟啊),主要用到的模块是requests,os,sys,re和BeautifulSoup。

原文地址:https://www.cnblogs.com/hcq-learning/p/9076997.html

时间: 2024-10-07 10:47:37

又写了个爬取小姐姐图片的爬虫,(比上次写的稍微复杂了点)的相关文章

第一篇博客(python爬取小故事网并写入mysql)

前言: 这是一篇来自整理EVERNOTE的笔记所产生的小博客,实现功能主要为用广度优先算法爬取小故事网,爬满100个链接并写入mysql,虽然CS作为双学位已经修习了三年多了,但不仅理论知识一般,动手能力也很差,在学习的空余时间前前后后DEBUG了很多次,下面给出源代码及所遇到的BUG. 本博客参照代码及PROJECT来源:http://kexue.fm/archives/4385/ 源代码: 1 import requests as rq 2 import re 3 import codecs

python爬取小视频,看完身体一天不如一天!

Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,都放在了文章结尾,欢迎前来领取!python爬取小视频记录学习python简单爬虫小程序,记录代码和学习过程环境信息python 2.7.12分析与步骤 要分析网站信息 http://www.budejie.com/video/ 查看网页不同页面的信息http://www.budejie.com/video/2http://www.budejie.

简单的爬取并下载图片的程序

闲来无事就编写了一个爬取美女图片并下载的爬虫.看好多爬虫都是爬妹子图的我就写编写了一个爬取妹子图网站上的图片. 需求:将妹子图网站上的首页到73页正文中的妹子图片爬取下来并保存在当前目录下 思路:通过查看网站的源代码发现,网站展示的图片都是有html链接的,每个图片都会链接到新的网址,来展示一个美女的多张图片.于是,需要先将以及界面的链接爬取出来,然后进入二级界面开始爬取并下载图片. 程序效果:通过简单的一个程序实现了图片的下载,在连续爬取了一个小时左右的时间爬取了大概有1000张图片.  遇到

第一个nodejs爬虫:爬取豆瓣电影图片

第一个nodejs爬虫:爬取豆瓣电影图片存入本地: 首先在命令行下 npm install request cheerio express -save; 代码: var http = require('https'); //使用https模块 var fs = require('fs');//文件读写 var cheerio = require('cheerio');//jquery写法获取所得页面dom元素 var request = require('request');//发送reques

用Ajax爬取今日头条图片

Ajax原理 ? 在用requests抓取页面时,得到的结果可能和浏览器中看到的不一样:在浏览器中可以正常显示的页面数据,但用requests得到的结果并没有.这是因为requests获取的都是原始 HTML文档,而浏览器中页面 则是经过Ajax处理数据后生成的.这些数据可能在HTML文档中,也可能是经过JavaScript和特定算法后生成的. ? 刚开始HTML文档中不包含某些数据,当原始页面加载完后,会向服务器发送Ajax请求获取数据,这些数据被JavaScript处理形成一些新页面. ?

爬虫爬取百度搜狗图片持久化存储

1.图片下载 # 百度图片:http://image.baidu.com/# 搜狗图片:https://pic.sogou.com/ # 图片爬取:1).寻找图片下载的url: elements与network抓包2).浏览器中访问url, 进行验证3).编写代码获取url4).请求url地址, 获取二进制流5).将二进制流写入文件 # 百度图片:import timeimport requestsfrom lxml import etreefrom selenium import webdri

Python 爬取堆糖图片

1 import requests,json,urllib.parse 2 import threading 3 threading_lock=threading.BoundedSemaphore(value=10)#设置最大线程 4 5 def get_page(url): 6 page=requests.get(url) 7 page=page.content 8 page=page.decode('utf-8') 9 return page 10 11 def pages_from_dui

用WebCollector爬取网站的图片

用WebCollector爬取整站图片,只需要遍历整站页面,然后将URL为.jpg.gif的页面(文件)保存到本地即可. 例如我们爬取一个美食网站,获取里面所有的图片: import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler; import cn.edu.hfut.dmic.webcollector.model.Page; import cn.edu.hfut.dmic.webcollector.util.FileUtils; im

爬虫入门-4-2.爬取豆瓣读书图片

一.利用lxml解析 from lxml import etree import os import requests PROXY = { 'HTTPS': '116.209.55.208:9999' } def spider(): url = 'https://book.douban.com/latest?icn=index-latestbook-all' response = requests.get(url, proxies=PROXY) html = etree.HTML(respons