整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端架構師基于京東門戶編寫的7篇html、css實戰,代碼免費分享!

          情提示:以下代碼是我們邀請的前端架構師基于京東門戶編寫的html、css代碼,現在免費分享給大家,獲取的方式為:

          關注此頭條號“互聯網IT信息”——>私信發送 “京東html” ,即可得到源代碼的獲取方式。

          幾小編分別利用Python正則表達式和BeautifulSoup爬取了京東網商品信息,今天小編利用Xpath來為大家演示一下如何實現京東商品信息的精準匹配~~

          HTML文件其實就是由一組尖括號構成的標簽組織起來的,每一對尖括號形式一個標簽,標簽之間存在上下關系,形成標簽樹;XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿著路徑或者 step 來選取的。

          京東網狗糧商品

          首先進入京東網,輸入自己想要查詢的商品,向服務器發送網頁請求。在這里小編仍以關鍵詞“狗糧”作為搜索對象,之后得到后面這一串網址: https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其中參數的意思就是我們輸入的keyword,在本例中該參數代表“狗糧”,具體詳情可以參考Python大神用正則表達式教你搞定京東商品信息。所以,只要輸入keyword這個參數之后,將其進行編碼,就可以獲取到目標URL。之后請求網頁,得到響應,爾后利用bs4選擇器進行下一步的數據采集。

          商品信息在京東官網上的部分網頁源碼如下圖所示:

          狗糧信息在京東官網上的網頁源碼

          仔細觀察源碼,可以發現我們所需的目標信息是存在<li data-sku="/*/*/*/*/*" class="gl-item">標簽下的,那么接下來我們就像剝洋蔥一樣,一層一層的去獲取我們想要的信息。

          通常URL編碼的方式是把需要編碼的字符轉化為%xx的形式,一般來說URL的編碼是基于UTF-8的,當然也有的于瀏覽器平臺有關。在Python的urllib庫中提供了quote方法,可以實現對URL的字符串進行編碼,從而可以進入到對應的網頁中去。

          在線復制Xpath表達式

          很多小伙伴都覺得Xpath表達式很難寫,其實掌握了基本的用法也就不難了。在線復制Xpath表達式如上圖所示,可以很方便的復制Xpath表達式。但是通過該方法得到的Xpath表達式放在程序中一般不能用,而且長的沒法看。所以Xpath表達式一般還是要自己親自上手。

          直接上代碼,利用Xpath去提取目標信息,如商品的名字、鏈接、圖片和價格,具體的代碼如下圖所示:

          爬蟲代碼

          在這里,小編告訴大家一個Xpath表達式匹配技巧。之前看過好幾篇文章,大佬們都推薦Xpath表達式使用嵌套匹配的方式。在本例中,首先定義items,如下所示:

          items = selector.xpath('//li[@class="gl-item"]')

          之后通過range函數,逐個從網頁中進行匹配目標信息,而不是直接通過復制Xpath表達式的方式一步到位。希望小伙伴們以后都可以少入這個坑~~

          最后得到的效果圖如下所示:

          最終效果圖

          新鮮的狗糧再一次出爐咯~

          小伙伴們,有沒有發現利用Xpath來獲取目標信息比正則表達式要簡單一些呢?

          想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/

          用的模塊是requests,importlib

          經常使用python來讀取網頁的內容,那么會使用到的模塊是 requests,importlib。

          使用了requests.get方法

          來通過讀取網址來獲取網頁源碼 。

          兩個返回值是status_code和content

          requests.get的兩個返回值是status_code和content。前者是返回狀態碼,后者是返回源碼內容。

          decode("utf-8")

          代碼中使用了decode("utf-8")來解析源碼。

          簡單代碼如下:

          #!/usr/bin/python

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

          from __future__ import print_function

          import requests

          import sys

          #reload(sys)

          #sys.setdefaultencoding("utf-8")

          import importlib

          importlib.reload(sys)

          resp=requests.get('http://www.jd.com')

          print(resp.status_code)

          print(resp.content.decode("utf-8"))


          主站蜘蛛池模板: 福利国产微拍广场一区视频在线| 日韩A无码AV一区二区三区 | 一区二区三区在线观看中文字幕| 无码人妻精品一区二区三区99不卡| 天堂国产一区二区三区 | 国产午夜精品免费一区二区三区| 国产精品久久久久久一区二区三区| 亚洲AV无码一区二区乱子伦| 免费国产在线精品一区| 男人的天堂av亚洲一区2区| 亚洲福利视频一区| 少妇特黄A一区二区三区| 中文字幕日本精品一区二区三区| 日本免费一区尤物| 日韩精品一区二区三区中文版| 亚洲熟妇无码一区二区三区导航| 亚洲av综合av一区| 国产日韩一区二区三区在线观看| 国产情侣一区二区三区| 国产在线无码视频一区| 国产无吗一区二区三区在线欢 | 国产一区二区三区手机在线观看| 在线精品一区二区三区电影| 国产亚洲福利一区二区免费看| 中文字幕一区二区区免| 国产成人精品无人区一区| 精品乱子伦一区二区三区高清免费播放| 福利一区在线视频| 亚洲丰满熟女一区二区v| 亚洲高清成人一区二区三区| 99久久无码一区人妻a黑| 国产午夜三级一区二区三| 国产精品亚洲一区二区麻豆| 国产天堂一区二区综合| 天堂va视频一区二区| 亚洲天堂一区二区| 国产在线观看一区精品| 日本精品3d动漫一区二区| 国产精品一区二区不卡| 国产精品亚洲一区二区三区在线| 理论亚洲区美一区二区三区|