欢迎来真孝善网,为您提供真孝善正能量书籍故事!

实战教程:使用requests和pyquery技术抓取网络美女图片

时间:11-03 名人轶事 提交错误

MONGO_DB="uumtu"

MONGO_TABLE="uumtu"

KEYWORD="mxmn"导入请求

从requests.exceptions 导入RequestException

从pyquery 导入PyQuery 作为pq

进口重新

从配置导入*

导入pymongo

从hashlib 导入md5

导入操作系统

从多处理导入池

客户端=pymongo.MongoClient(MONGO_URL, connect=False)

数据库=客户端[MONGO_DB]

baseurl="https://www.uumnt.cc"

def get_page_index(偏移量,关键字):

"""

该函数返回指定主题和页码的html内容

:param offset: 本主题中的哪个页面

:param keywords: 哪个主题

:返回:

"""

如果偏移!=1:

url="https://www.uumnt.cc/%s/%s"%(str(关键字),"list_%s.html"%str(偏移量))

否则:

url="https://www.uumnt.cc/%s"%(str(关键字),)

打印(网址)

尝试:

响应=requests.get(url)

如果响应.status_code==200:

返回响应.文本

返回无

除了RequestException:

print("请求页面时出错")

def parse_page_index(html):

"""

:param html: 传入的html是一个包含多组图片的入口页面。

:return: 返回url 生成器

#contbody div:nth-child(7) div h1

"""

#尝试:

文档=pq(html)

labelAs=doc("#mainbodypul .listmainrows")

#print(类型(labelAs.find("a")))

对于labelAs.find("a"): 中的aa

a1=pq(aa)

产生baseurl + a1.attr.href

def save_pic(内容):

file_path="{0}/{1}.{2}".format(os.getcwd()+"/minxin", md5(content).hexdigest(), "jpg")

打印(文件路径)

如果不是os.path.exists(file_path):

打开(文件路径,"wb")作为f:

f.write(内容)

f.close()

def download_image(url):

打印(网址)

尝试:

响应=requests.get(url)

如果响应.status_code==200:

html=pq(响应.文本)

src=html("div.center a img").attr.src

打印(源代码)

print("正在下载图片",url)

"""

https://newimg.uumnt.cc:8092/Pics/2017/1112/02/02.jpg

https://newimg.uumnt.cc:8092/Pics/2017/1120/09/01.jpg

"""

标题={

"引荐": "https://www.uumtu.com/siwa/23573_3.html",

"user-agent": "Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/68.0.3440.106 Safari/537.36"

}

image_page=requests.get(src,headers=headers)#打开真实图片

打印(图像_页.标题)

如果image_page.status_code==200:

保存图片(图像页面.内容)

返回无

除了RequestException:

print("请求页面时出错")

def get_page_detail(url):

尝试:

响应=requests.get(url)

如果响应.status_code==200:

doc=pq(响应.文本)

h1_text=(doc("div.center h1.center").text())

打印(h1_文本)

titlePatten=re.compile("(.*?)(.*?/(d+))", re.S)

mymatch=re.search(titlePatten, h1_text)

#print(标题1.组(1),标题1.组(2))

标题=mymatch.group(1)

计数=int(mymatch.group(2))

图片网址=[]

对于范围内的i(1,count):

经过

image_urls.append(url[:-5] + "_" + str(i) + ".html")

返回{

"标题":标题,

‘计数’:计数,

"网址":url,

"图像":image_urls

}

返回无

除了RequestException:

print("请求页面时出错")

def save_to_mongo(结果):

如果db[MONGO_TABLE].insert(结果):

print("成功保存到Mongo", result)

返回真

返回错误

def main(偏移):

响应=get_page_index(偏移量,KEYWORD)

对于parse_page_index(response):

mydic=get_page_detail(a)

如果mydic:

save_to_mongo(mydic)

lenth=len(mydic["图像"])

对于范围(长度): 中的索引

download_image(mydic["图像"][索引])

如果__name__=="__main__":

池=池()

#groups=([x * 20 for x in range(GROUP_START, GROUP_END + 1)])

#pool.map(主要,组)

groups=([x+1 for x in range(82)])

打印(组)

pool.map(主要,组)

关于本次实战教程:使用requests和pyquery技术抓取网络美女图片和的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

用户评论

闲肆

这听起来很有趣!想学习如何用代码下载图片

    有19位网友表示赞同!

ok绷遮不住我颓废的伤あ

我还从来没用 requests 和 pyquery,这篇文章能让我入门吗?

    有9位网友表示赞同!

青瓷清茶倾城歌

做网站的爬虫很实用诶,期待看到操作步骤

    有7位网友表示赞同!

命运不堪浮华

美女图片?我猜标题的意思是网站上的人像照片吧?

    有17位网友表示赞同!

颓废i

需要什么基础知识才能看懂文章呢?

    有19位网友表示赞同!

青楼买醉

学习爬虫技术可以实现很多想法啊,比如收集资料什么的

    有15位网友表示赞同!

发型不乱一切好办

这个文章会介绍哪些美女图片网站嘛?

    有18位网友表示赞同!

青墨断笺み

我想学怎么用 Python 做一些实际应用,这篇文章挺适合的

    有17位网友表示赞同!

龙卷风卷走爱情

我之前也想过尝试爬取图片,但不知道从哪里开始学习

    有16位网友表示赞同!

呆萌

看标题就感觉很专业的样子,希望步骤简单易懂哦!

    有13位网友表示赞同!

太易動情也是罪名

爬虫技术真是太牛了!能爬取很多有用的信息

    有16位网友表示赞同!

一笑抵千言

如果文章写得好,我很有可能跟着实践一遍

    有17位网友表示赞同!

无望的后半生

这个话题挺新奇的,我会关注一下这篇文章

    有18位网友表示赞同!

風景綫つ

学习一下爬虫技术,感觉以后可以做很多有趣的事情

    有6位网友表示赞同!

一生荒唐

希望文章能提供代码示例,方便理解和上手

    有18位网友表示赞同!

陌潇潇

我想了解下爬虫的优缺点,以及需要注意的事项

    有9位网友表示赞同!

关于道别

实战经验分享总是很宝贵,期待作者分享操作步骤

    有11位网友表示赞同!

(り。薆情海

学习一下爬虫技术,可以在项目制作中派上用场

    有11位网友表示赞同!

话扎心

文章标题很有吸引力,看来可以满足我的好奇心了

    有10位网友表示赞同!

【实战教程:使用requests和pyquery技术抓取网络美女图片】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活