天天看點

python如何賺外快 淘寶_Python如何爬取淘寶MM呢?教你一招

python如何賺外快 淘寶_Python如何爬取淘寶MM呢?教你一招

本篇目标

1.抓取淘寶MM的姓名,頭像,年齡

2.抓取每一個MM的資料簡介以及寫真圖檔

3.把每一個MM的寫真圖檔按照檔案夾儲存到本地

4.熟悉檔案儲存的過程

1.URL的格式

在這裡我們用到的URL是 http://mm.taobao.com/json/request_top_list.htm?page=1,問号前面是基位址,後面的參數page是代表第幾頁,可以随意更換位址。點選開之後,會發現有一些淘寶MM的簡介,并附有超連結連結到個人詳情頁面。

另外要注意:光理論是不夠的。這裡順便免費送大家一套2020最新python入門到進階項目實戰視訊教程,可以去小編的Python交流.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,還可以跟老司機交流讨教!

我們需要抓取本頁面的頭像位址,MM姓名,MM年齡,MM居住地,以及MM的個人詳情頁面位址。

2.抓取簡要資訊

相信大家經過上幾次的實戰,對抓取和提取頁面的位址已經非常熟悉了,這裡沒有什麼難度了,我們首先抓取本頁面的MM詳情頁面位址,姓名,年齡等等的資訊列印出來,直接貼代碼如下

__author__ = 'CQC'

# -*- coding:utf-8 -*-

import urllib

import urllib2

import re

class Spider:

def __init__(self):

self.siteURL = 'http://mm.taobao.com/json/request_top_list.htm'

def getPage(self,pageIndex):

url = self.siteURL + "?page=" + str(pageIndex)

print url

request = urllib2.Request(url)

response = urllib2.urlopen(request)

return response.read().decode('gbk')

def getContents(self,pageIndex):

page = self.getPage(pageIndex)

        pattern = re.compile('

class="lady-name.*?>(.*?).*?(.*?).*?(.*?)',re.S)

items = re.findall(pattern,page)

for item in items:

print item[0],item[1],item[2],item[3],item[4]

spider = Spider()

spider.getContents(1)

運作結果如下:

python如何賺外快 淘寶_Python如何爬取淘寶MM呢?教你一招

2.檔案寫入簡介

在這裡,我們有寫入圖檔和寫入文本兩種方式

1)寫入圖檔

#傳入圖檔位址,檔案名,儲存單張圖檔

def saveImg(self,imageURL,fileName):

u = urllib.urlopen(imageURL)

data = u.read()

f = open(fileName, 'wb')

f.write(data)

f.close()

2)寫入文本

def saveBrief(self,content,name):

fileName = name + "/" + name + ".txt"

f = open(fileName,"w+")

print u"正在偷偷儲存她的個人資訊為",fileName

f.write(content.encode('utf-8'))

3)建立新目錄

#建立新目錄

def mkdir(self,path):

path = path.strip()

# 判斷路徑是否存在

# 存在     True

# 不存在   False

isExists=os.path.exists(path)

# 判斷結果

if not isExists:

# 如果不存在則建立目錄

# 建立目錄操作函數

os.makedirs(path)

return True

else:

# 如果目錄存在則不建立,并提示目錄已存在

return False

3.代碼完善

主要的知識點已經在前面都涉及到了,如果大家前面的章節都已經看了,完成這個爬蟲不在話下,具體的詳情在此不再贅述,直接帖代碼啦。

spider.py

__author__ = 'CQC'

# -*- coding:utf-8 -*-

import urllib

import urllib2

import re

import tool

import os

#抓取MM

class Spider:

#頁面初始化

def __init__(self):

self.siteURL = 'http://mm.taobao.com/json/request_top_list.htm'

self.tool = tool.Tool()

#擷取索引頁面的内容

def getPage(self,pageIndex):

url = self.siteURL + "?page=" + str(pageIndex)

request = urllib2.Request(url)

response = urllib2.urlopen(request)

return response.read().decode('gbk')

#擷取索引界面所有MM的資訊,list格式

def getContents(self,pageIndex):

page = self.getPage(pageIndex)

        pattern = re.compile('

class="lady-name.*?>(.*?).*?(.*?).*?(.*?)',re.S)

items = re.findall(pattern,page)

contents = []

for item in items:

contents.append([item[0],item[1],item[2],item[3],item[4]])

return contents

#擷取MM個人詳情頁面

def getDetailPage(self,infoURL):

response = urllib2.urlopen(infoURL)

return response.read().decode('gbk')

#擷取個人文字簡介

def getBrief(self,page):

pattern = re.compile('

(.*?)