文档章节

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爬取上万空姐照片,赢取校花选举大赛!

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

p柯西
06/12
0
0
没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)

由于最新的视频整顿风波,内涵段子APP被迫关闭,广大段友无家可归,但是最近发现了一个“段友”的app,版本更新也挺快,正在号召广大段友回家,如下图,有兴趣的可以下载看看(ps:我不是打广...

p柯西
06/05
0
0
python3爬虫爬取网页图片简单示例

本人也是刚刚开始学习python的爬虫技术,然后本来想在网上找点教程来看看,谁知道一搜索,大部分的都是用python2来写的,新手嘛,一般都喜欢装新版本。于是我也就写一个python3简单的爬虫,爬...

IT民工_柒晓白
2017/10/19
0
1
使用Python爬虫爬取简单网页(Python爬虫入门)

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

小_橙_子
08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway真的有那么差吗?

前言 Spring Cloud从一开始最受大家质疑的就是网关性能,那是由于Spring Cloud最初选择了使用Netflix几年前开源的Zuul作为基础,而高性能版的Zuul 2在经过了多次跳票之后,对于Spring这样的整...

Java小铺
45分钟前
1
0
SpringBoot远程调试,远程debug你的线上项目

开发环境中代码出错了,可以利用IDE的debug功能来进行调试。那线上环境出错呢? 一、假设我们的项目是部署在tomcat中,那我们就需要对tomcat进行一定对配置,配置如下。 1. windows系统中,找...

nonnetta
49分钟前
0
0
JAVA秒杀优化方向

秒杀优化方向 将请求尽量拦截在系统上游:传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,我们可以通过限流、...

小贱是个程序员
57分钟前
0
0
C# 统计字符串中大写字母和小写字母的个数

static void Main() { int count1 = 0; int count2 = 0; Console.WriteLine("请输入字符串"); string str = Convert.ToString(Consol......

熊二的爸爸是谁
59分钟前
0
0
分布式服务框架之远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是...

老道士
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部