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
10 import threading
11 import Queue
12 import urllib
13
14 class jiandan_ooxx(threading.Thread):
15     def __init__(self,queue):
16         threading.Thread.__init__(self)
17         self._queue = queue
18
19     def run(self):
20         while not self._queue.empty():
21             url = self._queue.get_nowait()
22             self.spider(url)
23
24     def spider(self,url):
25         r = requests.get(url = url)
26         soup = bs(r.content,‘html.parser‘)
27         imges = soup.find_all(name=‘img‘,attrs={})
28         lists = []
29         for i in imges:
30             if ‘border‘ in str(i):
31                 continue
32             elif ‘onload‘ in str(i):
33                 lists.append(i[‘org_src‘])
34                 print i[‘org_src‘]
35                 img = ‘http:‘ + i[‘org_src‘]
36             else:
37                 lists.append(i[‘src‘])
38                 print i[‘src‘]
39                 img = ‘http:‘ + i[‘src‘]
40             name = img.split(‘/‘)[-1]
41             urllib.urlretrieve(img,filename=name)
42
43 def main(number):
44     url = ‘http://jandan.net/ooxx/page-‘
45     headers = {}
46     queue = Queue.Queue()
47
48     # 此处由最新页面开始爬取,默认爬取最新10页的图片,把number-10改成1即可爬取全部页面的图片。
49     for i in xrange(number,number-10,-1):
50         queue.put(url+str(i))
51     threads = []
52     thread_count = 10
53
54     for i in range(thread_count):
55         threads.append(jiandan_ooxx(queue))
56
57     for t in threads:
58         t.start()
59     for t in threads:
60         t.join()
61
62 if __name__ == ‘__main__‘:
63     # 获取最新页码并传入main函数
64     r = requests.get(‘http://jandan.net/ooxx‘)
65     soup = bs(r.content,‘html.parser‘)
66     string = soup.find_all(name=‘span‘,attrs={‘class‘:‘current-comment-page‘})
67     number = int(string[1].string[1:-1])
68     main(number)
时间: 2024-10-08 02:28:50

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

使用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)     

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

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

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爬虫之爬取煎蛋网妹子图

这篇文章通过简单的Python爬虫(未使用框架,仅供娱乐)获取并下载煎蛋网妹子图指定页面或全部图片,并将图片下载到磁盘. 首先导入模块:urllib.request.re.os import urllib.request import re import os urllib.request模块用于获取HTML页面数据 re模块用于通过正则表达式解析并截取HTML页面图片url os模块用于文件夹相关操作 代码不多,直接贴出来,代码解释在注释中: def crawl_jiandan(page, p

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 爬虫爬取煎蛋网妹子图

首先查看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

python爬取煎蛋妹子图(老司机养成之路)

源码: 1 import urllib.request 2 from bs4 import BeautifulSoup 3 import os 4 import io 5 #获取网页 6 def get_html(url): 7 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/60.0.3112.101 Safari/537.36'}