您的位置:首页 > 其它

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

2017-09-09 14:55 274 查看
#!/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.

u
4000
rllib.urlretrieve 用于保存文件。

知识点4

编码问题。这个详见

正则的一点问题及抓取must(str)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: