吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2589|回复: 13
收起左侧

[Python 原创] 【原创】pyhon爬取发表情包网站 单进程/多jin'c

[复制链接]
QingYeMuRong 发表于 2020-2-10 12:04
本帖最后由 QingYeMuRong 于 2020-2-10 12:12 编辑

在家闲着,爬爬表情包网站玩,本计划写个单进程的爬取,但是爬取速度有点慢,最后改成了多进程。以下附上单进程代码,多进程代码在附件里面,有需要自己拿取。希望大家在爬取的时候手下留情,下面是测试的图片。

-- coding:utf8 --

    import requests
    import re
    from urllib.request import urlretrieve
    import os
    headers = {
                    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'
    }
    def get_urls(n):
                    url = 'https://www.fabiaoqing.com/bqb/lists/type/hot/page/{}.html'.format(n)
                    response = requests.get(url,headers=headers)

                    html = response.text.encode('gbk','ignore').decode('gbk','ignore')
                    part1 = 'data-original="(.*?)" alt'
                    part2 = '" alt="(.*?)" style="'
                    img_urls = re.compile(part1).findall(html)
                    titles = re.compile(part2).findall(html)
                    # print(img_urls)
                    # print(titles)
                    urls = []
                    for i in range(0,len(titles)):
                                    url = img_urls[i]
                                    title = titles[i]
                                    urls.append((url,title))
                    print(urls)
                    return urls

    def download(data):
                    data = list(data)
                    url = data.copy()
                    print(data)

                    for k in range(len(data)):
                                    file = file = os.path.abspath(os.path.dirname(__file__))+'/Emoji/'
                                    if not os.path.exists(file):
                                                    os.makedirs(file)
                                                    print('--创建成功--')
                                    te = data[k][0][-4:]
                                    # print(te)
                                    title = data[k][0][-4:].split("'")
                                    title1 = data[k][1].replace(' ', '')
                                    title1 = title1.replace(' ', '')
                                    # print(title1)
                                    try:
                                                    path = os.path.abspath(os.path.dirname(__file__))+'/Emoji/'+ str(title1)+str(te)
                                                    print(path)
                                                    response = requests.get(url[k][0],headers=headers)
                                                    # with open(path,'wb',encoding='utf-8') as f:
                                                    #     f.write(response.content)
                                                    print(url[k][0])
                                                    urlretrieve(url[k][0],path)
                                                    print('下载成功')
                                    except Exception as err:
                                                    print(err)

    if __name__ == '__main__':
                    key = input('输入爬取页数:')
                    for n in range(1,eval(key)+1):
                                    urls = get_urls(n)
                                    download(urls)
Ashampoo_Snap_2020年2月10日_11h33m58s_002_.png
Ashampoo_Snap_2020年2月10日_11h34m20s_003_.png
Ashampoo_Snap_2020年2月10日_11h33m05s_001_.png

fabiaoqing.zip

2.46 KB, 下载次数: 65, 下载积分: 吾爱币 -1 CB

源码 单进程/多进程

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

青蛙考拉 发表于 2020-2-10 21:36
QingYeMuRong 发表于 2020-2-10 16:06
python3 就可以运行,我自己在Pycharm ,这个没有要求,python3自带的运行就可以。

就是PYTHON3跟一般电脑软件一样安装就行对不?另外,大神有没有接入影视网站的豆瓣评分接口,整不明白这个,但还想给网站接一下,我是不有点过分啦,哈哈,先行谢过
 楼主| QingYeMuRong 发表于 2020-2-11 11:11
青蛙考拉 发表于 2020-2-10 21:36
就是PYTHON3跟一般电脑软件一样安装就行对不?另外,大神有没有接入影视网站的豆瓣评分接口,整不明白这 ...

豆瓣电影评分,在原始网页里面就有数据,直接在网页里面通过正则或者xpath提取数据,保即可。
x66 发表于 2020-2-10 12:10
xzgjswb 发表于 2020-2-10 12:17
小白的我,只能用现成的
dulv0118 发表于 2020-2-10 12:21
感谢分享
MOEYU_VANILLA 发表于 2020-2-10 12:25
支持支持
动静之机 发表于 2020-2-10 12:47
我想爬电影,有方法么
NvidiaChina 发表于 2020-2-10 13:09
啊这,整挺好!!!!!
君月栩 发表于 2020-2-10 14:01
感谢楼主分享
青蛙考拉 发表于 2020-2-10 15:06
留个脚印,求解在用什么运行后再下载点赞
 楼主| QingYeMuRong 发表于 2020-2-10 16:06
青蛙考拉 发表于 2020-2-10 15:06
留个脚印,求解在用什么运行后再下载点赞

python3 就可以运行,我自己在Pycharm ,这个没有要求,python3自带的运行就可以。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 22:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表