亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python爬蟲實(shí)戰(zhàn)(2):爬取京東商品列表

shevy / 2452人閱讀

摘要:,源代碼爬取京東商品列表,以手機(jī)商品列表為例示例網(wǎng)址版本京東手機(jī)列表源代碼下載位置請看文章末尾的源。,抓取結(jié)果運(yùn)行上面的代碼,就會(huì)爬取京東手機(jī)品類頁面的所有手機(jī)型號價(jià)格等信息,并保存到本地文件京東手機(jī)列表中。

1,引言

在上一篇《python爬蟲實(shí)戰(zhàn):爬取Drupal論壇帖子列表》,爬取了一個(gè)用Drupal做的論壇,是靜態(tài)頁面,抓取比較容易,即使直接解析html源文件都可以抓取到需要的內(nèi)容。相反,JavaScript實(shí)現(xiàn)的動(dòng)態(tài)網(wǎng)頁內(nèi)容,無法從html源代碼抓取需要的內(nèi)容,必須先執(zhí)行JavaScript。

我們在《Python爬蟲使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容》一文已經(jīng)成功檢驗(yàn)了動(dòng)態(tài)網(wǎng)頁內(nèi)容的抓取方法,本文將實(shí)驗(yàn)程序進(jìn)行改寫,使用開源Python爬蟲規(guī)定的標(biāo)準(zhǔn)python內(nèi)容提取器,把代碼變得非常簡潔。

2,技術(shù)要點(diǎn)

我們在多個(gè)文章說過本開源爬蟲的目的:節(jié)省程序員的時(shí)間。關(guān)鍵是省去編寫提取規(guī)則的時(shí)間,尤其調(diào)試規(guī)則很花時(shí)間,節(jié)省時(shí)間問題在《1分鐘快速生成用于網(wǎng)頁內(nèi)容提取的xslt》一文已經(jīng)有了解決方案,本文我們用京東網(wǎng)站作為測試目標(biāo),而電商網(wǎng)站都有很多動(dòng)態(tài)內(nèi)容,比如,產(chǎn)品價(jià)格和評論數(shù)等等,往往采用后加載的方式,在html源文檔加載完成以后再執(zhí)行javascript代碼把動(dòng)態(tài)內(nèi)容填寫上,所以,本案例主要驗(yàn)證動(dòng)態(tài)內(nèi)容的抓取。

另外,本文案例沒有使用GooSeeker爬蟲API,而是把MS謀數(shù)臺生成的xslt腳本程序保存在本地文件中,在程序運(yùn)行的時(shí)候把文件讀出來注入到gsExtractor提取器。后續(xù)會(huì)有專門的案例演示 API的使用方法。

總之,本示例兩個(gè)技術(shù)要點(diǎn)總結(jié)如下:
從本地文件讀取xlst程序
把xlst注入到提取器gsExtractor中,利用xslt從網(wǎng)頁上一次提取性多個(gè)字段內(nèi)容。

3,python源代碼
# -*- coding:utf-8 -*- 
# 爬取京東商品列表, 以手機(jī)商品列表為例
# 示例網(wǎng)址:http://list.jd.com/list.html?cat=9987,653,655&page=1&JL=6_0_0&ms=5
# crawler_jd_list.py
# 版本: V1.0

from urllib import request
from lxml import etree
from selenium import webdriver
from gooseeker import gsExtractor
import time

class Spider:
    def __init__(self):
        self.scrollpages = 0
        self.waittime = 3
        self.phantomjsPath = "C:phantomjs-2.1.1-windowsinphantomjs.exe"

    def getContent(self, url):
        browser = webdriver.PhantomJS( executable_path = self.phantomjsPath )
        browser.get(url)
        time.sleep(self.waittime)
        html = browser.execute_script("return document.documentElement.outerHTML")
        doc = etree.HTML(html)
        jdlistExtra = gsExtractor()
        jdlistExtra.setXsltFromFile("jd_list.xml")
        output = jdlistExtra.extract(doc)
        return output

    def saveContent(self, filepath, content):
        file_obj = open(filepath, "w", encoding="UTF-8")
        file_obj.write(content)
        file_obj.close()

url = "http://list.jd.com/list.html?cat=9987,653,655&page=1&JL=6_0_0&ms=5"
jdspider = Spider()
result = jdspider.getContent(url)
jdspider.saveContent("京東手機(jī)列表_1.xml", str(result))

源代碼下載位置請看文章末尾的GitHub源。

4,抓取結(jié)果

運(yùn)行上面的代碼,就會(huì)爬取京東手機(jī)品類頁面的所有手機(jī)型號、價(jià)格等信息,并保存到本地文件“京東手機(jī)列表_1.xml”中。我們用瀏覽器打開這個(gè)結(jié)果文件,會(huì)看到如下的內(nèi)容

5,相關(guān)文檔

1, Python即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目: 內(nèi)容提取器的定義

6,集搜客GooSeeker開源代碼下載源

1, GooSeeker開源Python網(wǎng)絡(luò)爬蟲GitHub源

7,文檔修改歷史

1,2016-06-08:V1.0

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/45476.html

相關(guān)文章

  • Python: xml轉(zhuǎn)json

    摘要:,實(shí)驗(yàn)用的文件我們使用爬蟲實(shí)戰(zhàn)爬取京東商品列表一文的結(jié)果文件,爬蟲爬取的結(jié)果保存在京東手機(jī)列表文件中。,相關(guān)文檔,即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目內(nèi)容提取器的定義,爬蟲實(shí)戰(zhàn)爬取京東商品列表,集搜客開源代碼下載源,開源網(wǎng)絡(luò)爬蟲源,文檔修改歷史,首次發(fā)布 showImg(https://segmentfault.com/img/bVyf6R); 1,引言 GooSeeker早在9年前就開始了Semanti...

    _Suqin 評論0 收藏0
  • Python: xml轉(zhuǎn)json

    摘要:,實(shí)驗(yàn)用的文件我們使用爬蟲實(shí)戰(zhàn)爬取京東商品列表一文的結(jié)果文件,爬蟲爬取的結(jié)果保存在京東手機(jī)列表文件中。,相關(guān)文檔,即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目內(nèi)容提取器的定義,爬蟲實(shí)戰(zhàn)爬取京東商品列表,集搜客開源代碼下載源,開源網(wǎng)絡(luò)爬蟲源,文檔修改歷史,首次發(fā)布 showImg(https://segmentfault.com/img/bVyf6R); 1,引言 GooSeeker早在9年前就開始了Semanti...

    sourcenode 評論0 收藏0
  • 手把手教你寫電商爬蟲-第五課 京東商品評論爬蟲 一起來對付反爬蟲

    摘要:和前面幾節(jié)課類似的分析這節(jié)課就不做了,對于分頁,請求什么的,大家可以直接參考前面的四節(jié)課,這一刻主要特別的是,我們在采集商品的同時(shí),會(huì)將京東的商品評價(jià)采集下來。 系列教程: 手把手教你寫電商爬蟲-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實(shí)戰(zhàn)尚妝網(wǎng)AJAX請求處理和內(nèi)容提取 手把手教你寫電商爬蟲-第四課 淘寶網(wǎng)商品爬...

    jsummer 評論0 收藏0
  • 手把手教你寫電商爬蟲-第五課 京東商品評論爬蟲 一起來對付反爬蟲

    摘要:和前面幾節(jié)課類似的分析這節(jié)課就不做了,對于分頁,請求什么的,大家可以直接參考前面的四節(jié)課,這一刻主要特別的是,我們在采集商品的同時(shí),會(huì)將京東的商品評價(jià)采集下來。 系列教程: 手把手教你寫電商爬蟲-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實(shí)戰(zhàn)尚妝網(wǎng)AJAX請求處理和內(nèi)容提取 手把手教你寫電商爬蟲-第四課 淘寶網(wǎng)商品爬...

    forsigner 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<