一次Python爬虫的修改,抓取淘宝MM照片

本文已经过时了,请查看最新小白爬虫第一弹之抓取妹子图 | 静觅
Code Change World!

本修改为在原基础上的一次学习与优化,毕竟刚开始学习,故代码中注释有所保留,方便以后回顾与学习语法。

请先了解原来能实现的目标,在此不再赘述,原文地址Python爬虫实战四之抓取淘宝MM照片,感谢作者的代码与思路。

本修改详情

  • 代码改写为python3.5运行,因为3.5版本语法与模块有所变更
  • 增加cookie验证解决跳转
  • 无法保存图片能够容错而不是停止运行
  • 其他细节修改

流程修改为:

加上cookie与伪装浏览器后先保存所有详情页,因为cookie有过期时间,而保存所有图片太耗时,故先保存详情页面下来,再提取网址获取图片。也可以将提取出来的地址保存为文件再导入获取图片,另一个思路而已,皆可行。

代码部分:

spider.py

#!/usr/bin/python
# -*- coding:utf-8 -*-

import urllib.request
import re
import tool
import os
import http.cookiejar


#抓取MM
class Spider:

	#页面初始化
	def __init__(self):
		self.siteURL = 'https://mm.taobao.com/json/request_top_list.htm'
		self.tool = tool.Tool()

	#获取索引页面的内容
	def getPage(self,pageIndex):
		url = self.siteURL + "?page=" + str(pageIndex)
		request = urllib.request.Request(url)
		response = urllib.request.urlopen(request)
		return response.read().decode('gbk')

	#获取索引界面所有MM的信息,list格式
	def getContents(self,pageIndex):
		page = self.getPage(pageIndex)
		pattern = re.compile('<div class="list-item".*?pic-word.*?<a href="(.*?)".*?<img src=&
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值