文档章节

Ukulele百度贴吧图片python3单线程爬取

a
 anglecv
发布于 2017/09/12 14:19
字数 462
阅读 4
收藏 0

前因

由于最近在找Uku谱子, 发现贴吧图片的资源还行,就弄着下载了。

代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: actanble
# @Date:   2017-9-12 11:59:24

import urllib.request as ur
import os

class Spyder():

    def __init__(self, url):
        self.url = url

    def open_url(self):
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
        req = ur.Request(url=self.url, headers=headers)  # python2,urllib.request()
        response = ur.urlopen(req)  # python2,urllib2.urlopen()
        return response.read()

def main():

    with open("json.txt", "r+") as f:
        urls = f.readlines()
        f.close()
    import json, requests
    res = []
    for url1 in urls:
        json1 = json.loads(requests.get(url1).text)
        print(json1["data"]["pic_list"])
        for x in json1["data"]["pic_list"]:
            res.append(x["pic_id"])

    def get_img_url(pid):
        return "https://imgsa.baidu.com/forum/pic/item/"+ pid +".jpg"

    i = 0
    with open("pic12.txt", "w+", ) as f:
        for x in res:
            f.write(get_img_url(x) + "\n")
            i += 1
        f.close()

    print(i)


def run():
    main()
    import requests
    def test_wirte():
        with open("pic12.txt", "r+") as f1:
            imgs = f1.readlines()
            i = 1
            for img in imgs:
                try:
                    os.mkdir("img_ukulele")
                except:
                    pass
                with open("./img_ukulele/"+str(i) + ".jpg", "wb") as f:
                    f.write(Spyder(img).open_url())
                    f.close()
                i+=1
            f1.close()


if __name__ == "__main__":
    run()

附件

json.txt

http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121321&pn=1&ps=1&pe=40&info=1&_=1505195101160
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121321&pn=1&ps=121&pe=160&wall_type=v&_=1505195222386
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121321&pn=1&ps=161&pe=200&wall_type=v&_=1505195222704
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121321&pn=1&ps=41&pe=80&wall_type=v&_=1505195168755
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121321&pn=1&ps=81&pe=120&wall_type=v&_=1505195221831
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121318&pn=1&ps=1&pe=40&info=1&_=1505195457441
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121318&pn=1&ps=41&pe=80&wall_type=v&_=1505195465864
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121318&pn=1&ps=81&pe=120&wall_type=v&_=1505195490499
http://tieba.baidu.com/photo/g/bw/picture/list?kw=ukulele&alt=jview&rn=200&tid=2125121318&pn=1&ps=121&pe=160&wall_type=v&_=1505195492589

© 著作权归作者所有

共有 人打赏支持
a
粉丝 0
博文 1
码字总数 462
作品 0
武汉
私信 提问
Python实现贴吧多线程网盘爬虫

大多数Python学习者都是冲着Python在爬虫领域有非常出色的表现才开始学习的,在学好Python的基本语法并会使用re、requests、BeautifulSoup4等模块后,很快就能写出一个简单的爬虫小程序(不要...

数据取经团
2017/11/29
0
0
Python多线程爬图&Scrapy框架爬图

一、背景 对于日常Python爬虫由于效率问题,本次测试使用多线程和Scrapy框架来实现抓取斗图来表情。 由于IO操作不使用CPU,对于IO密集(磁盘IO/网络IO/人家交互IO)型适合用多线程,对于计算...

KaliArch
08/21
0
0
分手后,小伙怒用Python爬取上万空姐照片,赢取校花选举大赛!

首先展示下Python爬取到的成果:   我做什么都要争第一,这次的校花投票选举大赛也不例外,虽然我是个男的......但是我看到了前女友竟然已经有三百多票排到第三名了,我怎么能眼睁睁的看着...

p柯西
06/12
0
0
使用Python爬虫爬取简单网页(Python爬虫入门)

今天我们来看一看使用Python爬取一些简单的网页。 所用工具:IDLE (Python 3.6 64-bit) 一. 爬取京东商品页面 我将要爬取的是这个东京商品页面信息,代码如下: 二. 爬取亚马逊商品页面 我接...

小_橙_子
08/01
0
0
如何用Python来制作简单的爬虫,爬取到你想要的图片

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为...

糖宝lsh
08/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nuc970 uboot nand-boot,kernel, filesystem 烧录位置

一 烧写到Nand Flash **1.1 **相关文件说明 l BSP版本:nuc970bsp-release-20150519.zip l NuWriter版本:2015/04/28-V01,nuvoTon Nu-Writer V1.0 l 烧写文件: u-boot-spl.bin:负责将u-b......

CookieDemo
22分钟前
1
0
python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
49分钟前
3
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
59分钟前
1
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
今天
2
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部