1. 程式人生 > >Python爬蟲實戰之抓取淘寶MM照片(一)

Python爬蟲實戰之抓取淘寶MM照片(一)

背景

  Python爬蟲系列教程的一次實戰,然而淘寶進行過頁面改版,現在已經沒有淘寶MM這個版面,取而代之的是淘女郎。改版後,頁面是使用JS渲染的,並不能直接通過url來切換頁碼。該系列教程後續講到了 selenium + phantomJS,通過這個組合來模擬操作,進行頁碼切換等。

對於上述組合,初步學習可以參考:

在學習過程中,不僅僅看上面兩篇文章,文章裡面有列出官方文件、以及其它學習材料。另外,要善用搜索引擎去獲取想要的答案。

開始動手

網頁原始碼

  1. 我用的是Chrome瀏覽器,ctrl+shift+i 可以調出開發者工具
  2. 然後定點陣圖片元素所在位置

元素定位

資訊定位

定位

  1. 通過對網頁原始碼的分析,可以看到,所有圖片都是在 class=’listing_cons’的div裡,而每一個 class=’cons_li’的div就是一位MM的資訊

  2. 使用 beautiful soup 進行DOM操作

  • 找出照片板塊
soup = BeautifulSoup(driver.page_source, 'lxml')
cons_li_list = soup.select('.cons_li')
  • 每一位MM的資訊
# 暱稱
name = cons_li.select('.item_name')[0].get_text()
# 照片連結
# 由於js圖片延遲載入,img標籤指向連結的屬性有可能不是src,而是data-ks-lazyload
img = cons_li.select('.item_img img')[0] img_src = img.get('src') if img_src is None: img_src = img.get('data-ks-lazyload')

第一版結果

讀取每一位的暱稱和圖片連結,儲存到檔案中

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-06-18 17:00:19
# @Author  : kk ([email protected])
# @Link    : blog.csdn.net/PatrickZheng
# @Version : $Id$ from selenium import webdriver from bs4 import BeautifulSoup # 如果在環境變數PATH中添加了phantomJS,此處不需要指明executable_path driver = webdriver.PhantomJS(executable_path='D:\workplace\spider\phantomjs-2.1.1-windows\phantomjs.exe') driver.get('https://www.taobao.com/markets/mm/mmku') soup = BeautifulSoup(driver.page_source, 'lxml') # 每個MM的展示是放在 屬性class=cons_li的div中 cons_li_list = soup.select('.cons_li') print len(cons_li_list) try: f = open('mm_detail.txt', 'a') for cons_li in cons_li_list: name = cons_li.select('.item_name')[0].get_text() print name f.write((name+'\n').encode('utf-8')) img = cons_li.select('.item_img img')[0] img_src = img.get('src') if img_src is None: img_src = img.get('data-ks-lazyload') print img_src f.write(img_src.encode('utf-8')) finally: if f: f.close() driver.close() print 'done.'

相關推薦

Python爬蟲實戰MM照片

背景   Python爬蟲系列教程的一次實戰,然而淘寶進行過頁面改版,現在已經沒有淘寶MM這個版面,取而代之的是淘女郎。改版後,頁面是使用JS渲染的,並不能直接通過url來切換頁碼。該系列教程後續講到

python 爬蟲實戰4 爬MM照片

寫真 換行符 rip 多行 get sts tool -o true 本篇目標 抓取淘寶MM的姓名,頭像,年齡 抓取每一個MM的資料簡介以及寫真圖片 把每一個MM的寫真圖片按照文件夾保存到本地 熟悉文件保存的過程 1.URL的格式 在這裏我們用到的URL是 http:/

Python實例寶商品數據json型數據並保存為TXT

sel range ats 表達 隨著 request nic rom .get 本實例實現了抓取淘寶網中以‘python’為關鍵字的搜索結果,經詳細查看數據存儲於html文檔中的js腳本中,數據類型為JSON 通過瀏覽器相關工具發現捧腹網笑話頁面的數據存儲在HTML頁面而

python 使用selenium+urllib爬MM照片

        本文介紹瞭如何爬取淘寶模特列表頁的模特相簿圖片。由於相簿的照片是動態生成的所以用到了selenium和chromedriver來載入頁面。         爬取圖片的思路如下:        1.從起始頁開始先獲取模特個人資訊頁連結;        2.從

Python爬蟲實戰並儲存百度雲資源附程式碼

尋找並分析百度雲的轉存api 首先你得有一個百度雲盤的賬號,然後登入,用瀏覽器(這裡用火狐瀏覽器做示範)開啟一個分享連結。F12開啟控制檯進行抓包。手動進行轉存操作:全選檔案->儲存到網盤->選擇路徑->確定。點選【確定】前建議先清空一下抓包記錄,這樣可以精確定位到轉存的api,這就是

[python3.6]爬蟲實戰女郎圖片

原博主地址:http://cuiqingcai.com/1001.html 原博是python2.7寫的,並且隨著淘寶程式碼的改版,原博爬蟲已經不可用。 參考 http://minstrel.top/TaoBaoMM 這位博主跟我一樣最近正在學習爬蟲。 1 定個小目標 l

Python爬蟲實戰鏈家廣州房價_04鏈家的模擬登入(記錄)

問題引入 開始鏈家爬蟲的時候,瞭解到需要實現模擬登入,不登入不能爬取三個月之內的資料,目前暫未驗證這個說法是否正確,這一小節記錄一下利用瀏覽器(IE11)的開發者工具去分析模擬登入網站(鏈家)的內部邏輯過程,花了一個週末的時間,部分問題暫未解決。 思路介

Python爬蟲實戰B站番劇資訊(詳細過程)

目標:爬取b站番劇最近更新 輸出格式:名字+播放量+簡介 那麼開始擼吧~ 用到的類庫: requests:網路請求 pyquery:解析xml文件,像使用jquery一樣簡單哦~ 1.分析頁面佈局,找到需要爬取的內

python搜尋頁練習

1、本博文中程式碼是轉載內容,原文章地址如下: https://segmentfault.com/a/1190000014688216 2、原作者講解的很詳細,我只是在原文程式碼的基礎上稍作修改,添加了一些註釋及無關緊要的程式碼 3、本篇博文涉及知識點如下: ①通過對比頁面構

python網頁數據總結

固定 環境變量 http lec 了解 線程 rom 第一個 正則 今天嘗試使用python,爬取網頁數據。因為python是新安裝好的,所以要正常運行爬取數據的代碼需要提前安裝插件。分別為requests Beautifulsoup4 lxml 三個插件。 因

使用scrapy框架進行伯樂線上所有文章

這是跟著相關視訊學習進行的程式碼,(一)學習思路的程式碼在整個完整程式碼中存在一部分,如果看到這些內容或思路有不懂的給我下面部落格留言。完整程式碼github地址:https://github.com/spider-liu/jobbole-,主要是作為學習交流之用。 一、scrapy框架簡介

Python網路爬蟲網頁頁面 MOOC可以執行的程式碼

可以實現功能的全部程式碼: import requests import re def getHTMLText(url): try: r = requests.get(url, timeout = 30) r.raise_for_statu

Python爬蟲(第一季)圖片

一、分析規律 第一頁時 第二頁時s=48,第三頁時s=96(每頁為48的倍數) 當q=外套時(q為關鍵字) 用於每頁圖片的正則表達目標 二、走起…… 匯入

Python數據庫月報,發送郵件,本地存檔,保存元信息

epo 平臺 如果 更改 config 查詢 color into all 用途 定期抓取淘寶數據庫月報 發送郵件,保存到本地,最好是git中 發送元數據到mysql中,後期可以做成接口集成到運維平臺中,便於查詢 使用方式 # 下載(必須) cd ~ &&

Python爬蟲實戰Requests+正則表示式爬貓眼電影Top100

import requests from requests.exceptions import RequestException import re import json # from multiprocessing import Pool # 測試了下 這裡需要自己新增頭部 否則得不到網頁 hea

Python網路爬蟲實戰和分析天貓胸罩銷售資料

本文實現一個非常有趣的專案,這個專案是關於胸罩銷售資料分析的。Google曾給出了一幅世界女性胸部尺寸分佈地圖 ,從地圖中可以明顯看出中國大部分地區呈現綠色(表示平均胸部尺寸為A罩杯),少部分地區呈現藍色(表示平均胸部尺寸為B罩杯) 現在李寧老師也來驗證一下這個

網路爬蟲Python+requests+re+xlwt 爬商品並把價格和名字寫入Excel表格

由於學東西比較死,不夠靈活,學校的acm實驗室做演算法題,打比賽,我是真的跟不上那些大佬...就看到人以前實驗室退出的,加到 其他實驗室學習專案,做專案,做專案相對學習演算法來說,沒有那麼燒腦,還能做出有趣的東西....我就想學習做專案,因為打比賽我是拿不到能看的成績....

python(27) 買家秀

selenium 是Web應用測試工具,可以利用selenium和python,以及chromedriver等工具實現一些動態加密網站的抓取。本文利用這些工具抓取淘寶內衣評價買家秀圖片。 準備工作 下面先安裝selenium,在命令列輸入python,然後輸入安裝命令

Python手機銷量排行榜

#!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: W_H_J @license: Apache Licence @contact: [email protecte

商品資訊爬蟲

目標:獲取淘寶搜尋頁面資訊,爬取商品的名稱和價格方法:淘寶的搜尋介面          翻頁處理庫:requests對比網址:起始頁第二頁s=44第三頁s=88得到    第n頁是s=(n-1)*44淘寶網站的robots協議(一般網站的robots協議約定放在網站的主目錄下