今日头条爬美女图片知识点1

#!/usr/bin/env python
# encoding: utf-8
"""
@version:2.7.13
@author: wenjiaGuo
@contact: 601152819@qq.com
@software: PyCharm
@file: paGirl.py
@用途:抓取今日头条上的任意图片。
@使用方法:直接执行即可
@time: 2017/9/7 17:25
"""
import urllib
import sys
import urllib2 #请求网站
import re  #正则表达式
import random  #随机数
import  time
import json

#jsons  网络中网页源码不包含jsons,额外读取
# url = "http://www.toutiao.com/search_content/?offset=20&format=json&keyword=%E7%BE%8E%E5%A5%B3&autoload=true&count=20&cur_tab=1"
def loadPicture(keyword,pagenumber,path):
    print keyword,type(keyword)
    keyword=urllib.quote(keyword)
    print keyword, type(keyword)
    # 美女 < type'str' >
    # % E7 % BE % 8E % E5 % A5 % B3 < type 'str' >
    # 美女 < type'str' >
    # % C3 % C0 % C5 % AE < type'str' >

    url1="http://www.toutiao.com/search_content/?keyword="+keyword+"&count="+str(pagenumber)+"&format=json"
    req=urllib2.Request(url1)
    data=urllib2.urlopen(req).read().decode("utf-8")
    dict=json.loads(data)#json转化为字典
    # print str(dict["data"])
    regex1=re.compile(r"'(http://p[(b){0,1}]\d*.pstatp.com.*?)'")
    lastlist=re.findall(regex1,str(dict['data']))
    for  i  in range(len(lastlist)):
        print (lastlist[i],"  ")
        regex2=re.compile(r"http://p[(b){0,1}]\d*.pstatp.com/large/(.*)")#挖掘名称
        namelist=re.findall(regex2,lastlist[i])
        if(len(namelist)!=0):
            urllib.urlretrieve(lastlist[i], path + namelist[0] + ".png")
loadPicture("美女",10,"D:/360Downloads/")

重点知识点:

知识点1.

1.今日头条是json存储图片的,而且有4个关键字。

search_content
keyword
count
format=json

具体怎么来的,不知道,但是确实很重要。

知识点2

这里json.load是把json转换为字典。而这个字典里面的key不能要。
通过key,取出value。而value也是一个字典。后面再次进行操作。

知识点3.

urllib.urlretrieve 用于保存文件。

知识点4

编码问题。这个详见

正则的一点问题及抓取must(str)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值