python海贼王logo_Python实现的下载op海贼王网的图片

news/2024/11/7 14:36:36/

没得事就爬一下我喜欢的海贼王上的图片

需要在d盘下建立一个imgcache文件夹

# -*- coding: utf-8 -*-

import urllib

import urllib2

import json

from bs4 import BeautifulSoup

import threadpool

import thread

class htmlpaser:

def __init__(self):

self.url='http://1.hzfans.sinaapp.com/process.php'

#POST数据到接口

def Post(self,postdata):

# headers = {

# 'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'

# }

# data = urllib.urlencode(postdata)

# req = urllib2.Request(self.url,data,headers)

# resp = urllib2.urlopen(req,None,20)

# html = resp.read()

# return html

data = urllib.urlencode(postdata)

req = urllib2.Request(url, data)

html= urllib2.urlopen(req).read()

print html

#获取html内容

def GetHtml(self,url):

headers = {

'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'

}

req = urllib2.Request(url,None,headers)

resp = urllib2.urlopen(req,None,5)

html = resp.read()

#return html.decode('utf8')

return html

def GetHtml2(self,url):

page = urllib.urlopen(url)

html = page.read()

page.close()

return html

def GetHtml3(self,url):

req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',

'Accept':'text/html;q=0.9,*/*;q=0.8',

'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',

'Accept-Encoding':'gzip',

'Connection':'close',

'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host

}

req_timeout = 5

req = urllib2.Request(url,None,req_header)

resp = urllib2.urlopen(req,None,req_timeout)

html = resp.read()

return html

def GetList(self,html):

soup = BeautifulSoup(''.join(html))

baseitem=soup.find('ul',{'class':'list'})

slist=baseitem.select('li a')

return slist

def DownImg(self,imgurl):

path= r"d:/imgcache/"+self.gGetFileName(imgurl)

data = urllib.urlretrieve(imgurl,path)

return data

def gGetFileName(self,url):

if url==None: return None

if url=="" : return ""

arr=url.split("/")

return arr[len(arr)-1]

def mkdir(path):

import os

path=path.strip()

path=path.rstrip("\")

# 判断路径是否存在

# 存在 True

# 不存在 False

isExists=os.path.exists(path)

# 判断结果

if not isExists:

# 如果不存在则创建目录

# 创建目录操作函数

os.makedirs(path)

return True

else:

# 如果目录存在则不创建,并提示目录已存在

return False

#返回两个值

def ParseContent(self,html):

soup = BeautifulSoup(''.join(html))

baseitem=soup.find('div',{'class':'showbox'})

title=soup.find('div',{'class':'msg'}).find('div',{'class':'m_left'}).get_text()

imglist=baseitem.find_all('img')

for img in imglist:

imgurl=img.get('src')

self.DownImg(imgurl)

content=baseitem.get_text().encode('utf8')

position=content.find('热点推荐')

return title,content[0:position]

def ParseItem(self,item):

url=item.get('href')

if url==None:

return

#print url+'

'

html=obj.GetHtml2(url)

title,content=obj.ParseContent(html)

#print title+'

'

return title

def print_result(request, result):

print str(request.requestID)+":"+result

obj=htmlpaser()

pool = threadpool.ThreadPool(10)

for i in range(1,40):

url="http://op.52pk.com/shtml/op_wz/list_2594_%d.shtml"%(i)

html=obj.GetHtml2(url)

items=obj.GetList(html)

print 'add job %d

' % (i)

requests = threadpool.makeRequests(obj.ParseItem, items, print_result)

[pool.putRequest(req) for req in requests]

pool.wait()


http://www.ppmy.cn/news/291408.html

相关文章

python海贼王logo_中年大叔学编程-Python下载海贼王漫画图片

page pq(url"http://www.hanhande.net/manga/94/", encodingutf-8) lias page("#chapter-list-4").find(li).find(a).items() for a in lias: print(a.attr[href]) print(a.text()) 初步效果有了,我们再继续看看详细的动漫页面 我们可以看到页…

html怎么写海贼王旗帜图片,海贼王精美旗帜套图

1/49 海贼王精美旗帜套图 http://img1.v.tmcdn.net/haizei/bizhi/big_pic/20120728-118359/7812089422c27325d40d9d1d6911a9cf1.jpg http://img1.v.tmcdn.net/haizei/bizhi/big_pic/20120728-118359/7812089422c27325d40d9d1d6911a9cf1.jpg 2/49 海贼王精美旗帜套图 http://img…

python绘画海贼王_Python爬虫之爬取海贼王全彩漫画图片

制作工具模块 -隐藏身份信息的User-Agent模块;对象服务器识别不了身份信息。 import random user_agent_data = [ { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X Me…

新手做知识变现的三个阶段,看你在哪个阶段?

哈喽,大家好,我是海哥,知识付费变现创业教练,教育公司培训总监,从事知识付费变现咨询10年,已助力3000人实现知识付费变现。 做知识变现,不要一上来就说我做知识付费,我一上来分享就应…

一个好的浏览器是多么重要,强烈推荐一个好用的浏览器.........

什么,你不知道祖安是什么意思?没关系,可以搜索词条啊,最近祖安确实进入了大众的视野,祖安文化在蔓延,本来不知道祖安的我好奇的搜索了一下祖安。 什么你以为我会给你科普一下祖安文化,交流祖安心…

Flutter中 useRootNavigator 属性的作用

Flutter中 useRootNavigator 属性的作用 在Flutter中,Navigator是管理应用程序页面导航的一个重要组件。Navigator管理着一个栈结构,用于存储应用程序中所有活动页面的历史记录。Flutter提供了许多Navigator相关的API,其中包括 useRootNavig…

五大浏览器

web浏览器是用于读取HTML文件,并将其作为网页显示 - 浏览器最重要的部分或其核心是渲染引擎,我们一般称为内核; - 内核的作用负责对网页语法的解释并渲染网页; - 五大浏览器:chrome、safari、Firefox、Opera、IE 1.…

python基础----09-----类、对象、魔法方法、封装、继承、类型注解、多态

一 初识对象 说白了就是类的实例化,类是一个抽象层的定义。 例如下面class Student就是定义的一个类,它是抽象层,然后stu_1 Student(),我们根据类创建了一个对象,就是对类的实例化,这个实例化对象我们是可…