av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python如何使用正則表達(dá)式爬取京東商品信息

瀏覽:6日期:2022-07-23 16:07:53

京東(JD.com)是中國(guó)最大的自營(yíng)式電商企業(yè),2015年第一季度在中國(guó)自營(yíng)式B2C電商市場(chǎng)的占有率為56.3%。如此龐大的一個(gè)電商網(wǎng)站,上面的商品信息是海量的,小編今天就帶小伙伴利用正則表達(dá)式,并且基于輸入的關(guān)鍵詞來實(shí)現(xiàn)主題爬蟲。

首先進(jìn)去京東網(wǎng),輸入自己想要查詢的商品,小編在這里以關(guān)鍵詞“狗糧”作為搜索對(duì)象,之后得到后面這一串網(wǎng)址:https://search.jd.com/Search?keyword=%E7%8B%97%E7%B2%AE&enc=utf-8,其實(shí)參數(shù)%E7%8B%97%E7%B2%AE解碼之后就是“狗糧”的意思。那么非常明顯,只要輸入keyword這個(gè)參數(shù)之后,將其進(jìn)行編碼,就可以獲取到我們的目標(biāo)網(wǎng)址了,請(qǐng)求網(wǎng)頁,得到響應(yīng),爾后利用選擇器便可以進(jìn)行下一步的精準(zhǔn)采集了。

在京東網(wǎng)上,狗糧信息在京東官網(wǎng)上的網(wǎng)頁源碼如下圖所示:

Python如何使用正則表達(dá)式爬取京東商品信息

狗糧信息在京東官網(wǎng)上的網(wǎng)頁源碼

話不多說,直接擼代碼,如下圖所示。小編用的是py3,也建議大家以后多用py3版本。通常URL編碼的方式是把需要編碼的字符轉(zhuǎn)化為%xx的形式,一般來說URL的編碼是基于UTF-8的,當(dāng)然也有的于瀏覽器平臺(tái)有關(guān)。在Python的urllib庫(kù)中提供了quote方法,可以實(shí)現(xiàn)對(duì)URL的字符串進(jìn)行編碼,從而可以進(jìn)入到對(duì)應(yīng)的網(wǎng)頁中去。

正則表達(dá)式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡(jiǎn)寫為regex、regexp或RE),是一種可以用于模式匹配和替換的強(qiáng)有力的工具。找到目標(biāo)網(wǎng)頁之后,調(diào)用urllib中的urlopen函數(shù)打開網(wǎng)頁并獲取源碼,之后利用正則表達(dá)式實(shí)現(xiàn)對(duì)目標(biāo)信息的精準(zhǔn)采集。

Python如何使用正則表達(dá)式爬取京東商品信息

利用正則表達(dá)式實(shí)現(xiàn)對(duì)目標(biāo)信息的精準(zhǔn)采集

正則表達(dá)式寫在這個(gè)程序中確實(shí)蠻復(fù)雜的,也占據(jù)了多行,但是主要用到的正則表達(dá)式是[wW]+?和[sS]+?。

[sS]或者[wW]是完全通配的意思,s是指空白,包括空格、換行、tab縮進(jìn)等所有的空白,而S剛好相反。這樣一正一反下來,就表示所有的字符,完全的,一字不漏的。另外,[]這個(gè)符號(hào),表示在它里面包含的單個(gè)字符不限順序的出現(xiàn),比如下面的正則:[ace]*,這表示,只要出現(xiàn)a/c/e這三個(gè)任意的字母,都會(huì)被匹配。

此外,[s]表示,只要出現(xiàn)空白就匹配;[S]表示,非空白就匹配。那么它們的組合,表示所有的都匹配,與它相對(duì)應(yīng)的,有[wW]等,意義完全相同。其實(shí),[sS] 和 [wW]這樣的用法,比'.'所匹配的還要多,因?yàn)?.'是不會(huì)匹配換行的,所有出現(xiàn)有換行匹配的時(shí)候,人們就習(xí)慣 使用[sS]或者[wW]這樣的完全通配模式。

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

Python如何使用正則表達(dá)式爬取京東商品信息

輸出效果圖

這樣小伙伴們就可以獲取到狗糧的商品信息了,當(dāng)然,小編在這里只是拋磚引玉,只匹配了四個(gè)信息,而且只是做了個(gè)單頁的獲取。需要更多數(shù)據(jù)的小伙伴們可以自行去更改正則表達(dá)式和設(shè)置多頁,達(dá)到你想要的效果。下篇文章小編將利用美麗的湯BeautifulSoup來進(jìn)行匹配目標(biāo)數(shù)據(jù),實(shí)現(xiàn)目標(biāo)信息的精準(zhǔn)獲取。

最后給大家簡(jiǎn)單介紹一下正則表達(dá)式。正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列匹配某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些匹配某個(gè)模式的文本。

正則表達(dá)式對(duì)于初學(xué)者確實(shí)晦澀難懂,不過慢慢學(xué)習(xí)還是可以掌握的,并不一定要完全記下來,但是你要知道什么時(shí)候需要什么參數(shù),能做到順利使用它就可以了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 京東 Python
相關(guān)文章:
主站蜘蛛池模板: www成年人视频 | 九九免费观看视频 | 日韩午夜精品 | 欧美亚洲国产一区 | 欧美日韩精品久久久免费观看 | 97精品国产 | 狠狠干综合视频 | 国产日韩精品久久 | 黄网在线观看 | 69福利影院 | 亚洲视频中文字幕 | 国产ts一区 | 久久精品亚洲国产奇米99 | 天天干天天玩天天操 | 欧美精品中文字幕久久二区 | 81精品国产乱码久久久久久 | 国产精品自产拍在线观看蜜 | 天天躁日日躁xxxxaaaa | 欧美a在线观看 | 91中文字幕在线 | 特级毛片| 请别相信他免费喜剧电影在线观看 | 九色在线观看 | 午夜av电影 | 成人午夜av | 久草久草久草 | 九一精品 | 91社区视频 | 欧美精品在线一区二区三区 | 成人午夜在线 | 日韩视频在线播放 | 成人欧美一区二区三区在线播放 | 一级毛片视频在线观看 | 在线日韩不卡 | 黄色片免费看 | 精品国产91乱码一区二区三区 | 国产电影一区二区 | 精品免费国产一区二区三区四区介绍 | 黄色免费在线网址 | 欧美日韩亚洲一区 | 成人av一区 |