Python 学习之数据抓取——淘宝MM数据

看了将近大半个月的Python了,之前用java做过一些简单的爬虫程序,爬取过几个Android应用平台的应用数据,现在感觉使用Python做爬虫程序挺好的,网上找了个Python爬虫的程序看了看,参考了别人写的淘宝mm图片抓取程序点击打开链接,进入淘宝MM的个人主页后发现有更多的数据,如生日、学校、身高、体重、三围等等,然后就试着自己写了个爬虫程序,爬取MM的信息。

直接上代码:

import urllib.request
import re
import ssl
import gc
from builtins import print
from builtins import range
from builtins import str


class Spider:
    def __init__(self):
        self.siteUrl = 'http://mm.taobao.com/json/request_top_list.htm'
        self.data = {'User-Agent': 'User-Agent	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3)'}
        self.userinfo = {}
        self.count = 1

    def getPage(self, url):
        request = urllib.request.Request(url, headers=self.data)
        content = ssl._create_unverified_context()
        response = urllib.request.urlopen(request,  context=content)
        return response.read().decode('gbk')

    def getContent(self, pageIndex):
        url = self.siteUrl + "?page=" + str(pageIndex)
        page = self.getPage(url)
        pattern = re.compile(
            '

  其中在抓取MM的详细信息的时候遇到了坑:详情页如下
Python 学习之数据抓取——淘宝MM数据_第1张图片

查看元素信息,编写正则表达式

Python 学习之数据抓取——淘宝MM数据_第2张图片

可是总是获取不到想要的数据,一开始是以为正则表达式写错了,捣鼓了好长时间,打印了urlopen的response后发现页面里没有要找的元素,后来查看页面源码才发现,原来详细信息是页面加载完成后又获取的MM信息

Python 学习之数据抓取——淘宝MM数据_第3张图片

Python 学习之数据抓取——淘宝MM数据_第4张图片

修改了URL后终于获取到期望的数据了:

Python 学习之数据抓取——淘宝MM数据_第5张图片


获取到的数据文件放到百度云盘了,感兴趣的同学可以看看 点击打开链接



你可能感兴趣的:(Python,爬虫)