Python爬虫之爬取煎蛋网妹子图

这篇文章通过简单的Python爬虫(未使用框架,仅供娱乐)获取并下载煎蛋网妹子图指定页面或全部图片,并将图片下载到磁盘。

首先导入模块:urllib.request、re、os

import urllib.request
import re
import os

urllib.request模块用于获取HTML页面数据

re模块用于通过正则表达式解析并截取HTML页面图片url

os模块用于文件夹相关操作

代码不多,直接贴出来,代码解释在注释中:

def crawl_jiandan(page, path):
    """
    :param page:获取指定页面数据,值为0或超过最大值则爬取全部数据
    :param path:文件存储路径,没有目录则创建目录
    """
    if page < 0:
        return
    # 路径是否存在,不存在则创建目录
    if not os.path.exists(path):
        os.mkdir(path)
    # 切换到目录
    os.chdir(path)
    # 煎蛋网妹子图首页
    url = ‘http://jandan.net/ooxx/page-%d#comments‘ % page
    while True:
        request = urllib.request.Request(url)
        request.add_header(‘User-Agent‘,
                           ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:54.0) Gecko/20100101 Firefox/54.0‘)
        with urllib.request.urlopen(request) as response:
            html = response.read().decode(‘utf-8‘)
            # print(html)
            items = re.findall(re.compile(r‘<div class="text"><span class="righttext"><a ‘
                               r‘href="http://.+">[0-9]+</a></span><p><a ‘
                               r‘href="//(.+\.jpg)" target="_blank" class="view_img_link">‘),
                               html)
            next_url = re.findall(re.compile(r‘<a title="Older Comments" href="(‘
                                  r‘http://jandan.net/ooxx/page-[0-9]+#comments)" ‘
                                  r‘class="previous-comment-page">‘), html)
            for item in items:
                filename = item.split(‘/‘)[-1]
                # 目录下是否已存在相同文件名,不存在则下载
                if not os.path.exists(filename):
                    print(item)
                urllib.request.urlretrieve(‘http://‘ + item, filename)
            if not len(next_url):
                return
            else:
                url = next_url[0]

crawl_jiandan(1, ‘/Volumes/KE/IT源码/Python3/Python爬虫/煎蛋网妹子图‘)

打开本次磁盘,效果如下:

这里只显示了部分图像,有兴趣的可以下载煎蛋网所有妹子图,只需在上述函数中第一个参数传0即可

注意:此文仅供参考和娱乐,代码还不够严谨。

时间: 2024-10-10 15:47:58

Python爬虫之爬取煎蛋网妹子图的相关文章

python 爬虫爬取煎蛋网妹子图

首先查看js渲染前的html源码,发现放图片的位置是这样的 本该放地址的地方赫然放着blank.gif,并且在onload属性上绑定了一个jandan_load_img函数.这个jandan_load_img就成为本次爬虫的突破所在了.继续ctrl+shift+F全局搜索,找到这个函数 流程图: import hashlib import base64 from bs4 import BeautifulSoup import requests import re import random im

python3爬虫爬取煎蛋网妹纸图片

其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低.本次以解密参数来完成爬取的过程. 首先打开煎蛋网http://jandan.net/ooxx,查看网页源代码.我们搜索其中一张图片的编号,比如3869006,看下在源代码中是否能找到图片链接 从上面的HTML结构中找到这个标号对应的一些属性,没有直接的图片链接地址,只有一个src=//img.jandan.net/blank.gif,这很明显不是个真实的链接地址,因为每一个图片编号都有这个值.我

爬虫实例——爬取煎蛋网OOXX频道(反反爬虫——伪装成浏览器)

煎蛋网在反爬虫方面做了不少工作,无法通过正常的方式爬取,比如用下面这段代码爬取无法得到我们想要的源代码. import requests url = 'http://jandan.net/ooxx' print requests.get(url).text 执行上述代码,你得到的结果应该跟我一样: 煎蛋网应该是通过检测headers来判断是否爬虫,要想获取正常的源代码,需要伪装成浏览器. # -*- coding: utf-8 -*- import re import requests from

使用Python爬取煎蛋网妹纸图片

import urllib.request import os import os.path import re def dir(dir_name="images"):     """设定图片保存目录,基于当前程序运行目录"""     if os.path.isdir(dir_name):         os.chdir(dir_name)     else:         os.mkdir(dir_name)     

selenium爬取煎蛋网

selenium爬取煎蛋网 直接上代码 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as ES import requests import urllib.requ

Python 爬取煎蛋网妹子图片

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2017-08-24 10:17:28 4 # @Author : EnderZhou ([email protected]) 5 # @Link : http://www.cnblogs.com/enderzhou/ 6 # @Version : $Id$ 7 8 import requests 9 from bs4 import BeautifulSoup as bs

python爬虫:爬取易迅网价格信息,并写入Mysql数据库

本程序涉及以下方面知识: 1.python链接mysql数据库:http://www.cnblogs.com/miranda-tang/p/5523431.html   2.爬取中文网站以及各种乱码处理:http://www.cnblogs.com/miranda-tang/p/5566358.html   3.BeautifulSoup使用 4.原网页数据信息不全用字典的方式,把不存在的字段设置为空 详细代码: #!/usr/bin/python # -*- encoding:utf-8 -*

python 爬取煎蛋网图片

__author__ = mkdir(path):     os     path = path.strip()  path = path.rstrip()  mkfile = os.path.exists(path)     mkfile:         ()     :         os.makedirs(path)         () urllib, urllib2, re geturl(url):     file_lists = []     req = urllib2.Req

python爬取煎蛋网图片

py2版本: #-*- coding:utf-8 -*-#from __future__ import unicode_literimport urllib,urllib2,timeimport re,sys,osheaders={'Referer':'http://jandan.net/','User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2