日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python爬蟲新手入門之初學lxml庫

瀏覽:253日期:2022-07-01 16:20:17
1.爬蟲是什么

所謂爬蟲,就是按照一定的規則,自動的從網絡中抓取信息的程序或者腳本。萬維網就像一個巨大的蜘蛛網,我們的爬蟲就是上面的一個蜘蛛,不斷的去抓取我們需要的信息。

2.爬蟲三要素 抓取 分析 存儲3.爬蟲的過程分析

當人類去訪問一個網頁時,是如何進行的?

①打開瀏覽器,輸入要訪問的網址,發起請求。

②等待服務器返回數據,通過瀏覽器加載網頁。

③從網頁中找到自己需要的數據(文本、圖片、文件等等)。

④保存自己需要的數據。

對于爬蟲,也是類似的。它模仿人類請求網頁的過程,但是又稍有不同。

首先,對應于上面的①和②步驟,我們要利用python實現請求一個網頁的功能。

其次,對應于上面的③步驟,我們要利用python實現解析請求到的網頁的功能。

最后,對于上面的④步驟,我們要利用python實現保存數據的功能。

因為是講一個簡單的爬蟲嘛,所以一些其他的復雜操作這里就不說了。下面,針對上面幾個功能,逐一進行分析。

4.如何用python請求一個網頁

作為一門擁有豐富類庫的編程語言,利用python請求網頁完全不在話下。這里推薦一個非常好用的類庫urllib.request。

4.1.抓取網頁

urllib庫使用

import urllib.request response = urllib.request.urlopen(’https://laoniu.blog.csdn.net/’)print(response.read().decode(’utf-8’))

這樣就可以抓取csdn我的主頁的html文檔

我們使用爬蟲就是需要在網頁中提取我們需要的數據,接下來我們來學習抓取一下百度搜索頁的熱榜數據

Python爬蟲新手入門之初學lxml庫

4.2.如何解析網頁呢

使用lxml庫

lxml 是一種使用 Python 編寫的庫,可以迅速、靈活地處理 XML 和 HTML。

它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transformation (XSLT),并且實現了常見的 ElementTree API。

安裝

windows下安裝

#pip方式安裝pip3 install lxml #wheel方式安裝 #下載對應系統版本的wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxmlpip3 install lxml-4.2.1-cp36-cp36m-win_amd64.whl

linux下安裝

yum install -y epel-release libxslt-devel libxml2-devel openssl-devel pip3 install lxml

環境/版本一覽:

開發工具:PyCharm 2020.2.3 python:3.8.54.3.編寫代碼

import urllib.requestfrom lxml import etree # 獲取百度熱榜url = 'https://www.baidu.com/s?ie=UTF-8&wd=1'# 我們在請求頭加入User-Agent參數,這樣可以讓服務端認為此次請求是用戶通過瀏覽器發起的正常請求,防止被識別為爬蟲程序請求導致直接拒絕訪問req = urllib.request.Request(url=url, headers={ ’User-Agent’: ’User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36’})# 發起請求html_resp = urllib.request.urlopen(req).read().decode('utf-8')

到這里我們可以順利獲取百度的搜索頁面html文檔

我門需要看一下熱搜排行榜的標簽元素在哪里

Python爬蟲新手入門之初學lxml庫

Python爬蟲新手入門之初學lxml庫

找到第一條 右鍵復制 XPath (后邊說XPath是什么)

Python爬蟲新手入門之初學lxml庫

我們需要了解并使用XPath,XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。

復制的內容結果是: //*[@id='con-ar']/div[2]/div/div/table/tbody[1]/tr[1]

這xPath字符串 表示現在在html定位的位置就是熱點新聞第一行內容

5.XPath常用規則 表達式 描述 nodename 選取此節點的所有子節點 / 從當前節點選取直接子節點 // 從當前節點選取子孫節點 . 選取當前節點 .. 選取當前節點的父節點 @ 選取屬性 * 通配符,選擇所有元素節點與元素名 @* 選取所有屬性 [@attrib] 選取具有給定屬性的所有元素 [@attrib=’value’] 選取給定屬性具有給定值的所有元素 [tag] 選取所有具有指定元素的直接子節點 [tag=’text’] 選取所有具有指定元素并且文本內容是text節點 6.繼續分析

那么我們要獲取所有的熱點新聞該怎么寫呢

繼續看網頁

Python爬蟲新手入門之初學lxml庫

可以看到所有的熱榜分別在三個<tbody>之下

修改一下剛才復制的XPath

//*[@id='con-ar']/div[2]/div/div/table/tbody[1]/tr[1] 改為 //*[@id='con-ar']/div[2]/div/div/table/tbody/tr

這樣XPath就會定位到這三個tbody下的所有tr元素內容

我們繼續看一下tr是不是我們想要的內容,展開一個tr看看

Python爬蟲新手入門之初學lxml庫

淦~還有一堆,,

這該怎么辦。我們需要拿到數據是 【標題】 【訪問鏈接】 【熱度】,現在手里已經拿到的是所有的tr元素

緊接著從tr下手 直接 拿到下面所有<a>標簽的標題與超鏈接

標題的XPath: */a/@title 超鏈接的XPath: */a/@href

*表示匹配tr下的所有元素 /a是在*找到第一個a標簽 @是屬性選擇器 title和href就是要選擇的素屬性了

還剩下個熱度,let‘s me 繼續操作,直接選擇tr下的第二個td XPath: td[2]

分析完畢,把完整的代碼貼出來

import urllib.requestfrom lxml import etree # 獲取百度熱榜 url = 'https://www.baidu.com/s?ie=UTF-8&wd=1'# 我們在請求頭加入User-Agent參數,這樣可以讓服務端認為此次請求是用戶通過瀏覽器發起的正常請求,防止被識別為爬蟲程序請求導致直接拒絕訪問req = urllib.request.Request(url=url, headers={ ’User-Agent’: ’User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36’ })html_resp = urllib.request.urlopen(req).read().decode('utf-8')html = etree.HTML(html_resp)#初始化生成一個XPath解析對象_list = html.xpath('//*[@id=’con-ar’]/div[2]/div/div/table/tbody/tr')print(f'article count : {len(_list)}') for tr in _list: title = tr.xpath('*/a/@title')[0] href = tr.xpath('*/a/@href')[0] hot = tr.xpath('string(td[2])').strip() print(f'{hot}t{title}thttps://www.baidu.com{href}')

點擊運行,程序啪就跑起來了,很快啊,數據全都過來了,我全都接住了,我笑了一下。

到此就完成了lxml xpath的基本使用,更詳細的xpath教程請看 :https://www.w3school.com.cn/xpath/index.asp

爬蟲三要素,抓取數據完成了,剩余的分析與存儲就先不說了

總結

到此這篇關于Python爬蟲新手入門之初學lxml庫的文章就介紹到這了,更多相關Python爬蟲入門之lxml庫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲一区二区三区啪| 免费美女久久99| 日本亚洲不卡| 日韩黄色免费网站| 国产日韩欧美一区| 久久精品国产99国产精品| 国产免费久久| av综合电影网站| 蜜臀久久精品| 夜夜嗨一区二区| 激情久久中文字幕| 国产精品欧美大片| 青青草精品视频| 精品视频网站| 欧美一区二区三区激情视频| 日韩精品乱码av一区二区| 精品国产乱码久久久久久樱花| 欧美精品激情| 日韩制服丝袜av| 欧美国产专区| 欧美精品自拍| 香蕉人人精品| 亚洲精品免费观看| 麻豆精品国产91久久久久久| 国产一区二区三区日韩精品| 99riav国产精品| 蜜臀精品久久久久久蜜臀| 亚洲综合日韩| 国产精品一区三区在线观看| 毛片在线网站| 午夜日韩在线| 欧美aa在线观看| 玖玖玖国产精品| 国产一区丝袜| 国产精品mm| 91久久午夜| 蘑菇福利视频一区播放| 免费在线亚洲欧美| 婷婷亚洲成人| 亚洲专区在线| 丝袜美腿成人在线| 最新国产拍偷乱拍精品| 亚洲电影在线一区二区三区| 日本欧美一区二区| 亚洲在线国产日韩欧美| 久久电影tv| 精品精品久久| 国产一区日韩| 国产aⅴ精品一区二区四区| 六月天综合网| 日韩毛片视频| 噜噜噜躁狠狠躁狠狠精品视频| 老牛国产精品一区的观看方式| 久久久男人天堂| 另类专区亚洲| 久久国产88| 欧美日韩第一| 久久中文字幕av| 欧美日韩一二三四| 亚洲调教视频在线观看| 免费精品视频| 国产毛片久久久| 国产欧美啪啪| 鲁大师精品99久久久| 久久99久久人婷婷精品综合| 国产日韩欧美中文在线| 精品伊人久久| 日韩精品永久网址| 激情欧美一区二区三区| 好吊视频一区二区三区四区| 欧美特黄a级高清免费大片a级| 青青青免费在线视频| 久久亚洲道色| 在线综合视频| 久久一区亚洲| 免播放器亚洲| 精品欧美日韩精品| 国产亚洲一区| 99国内精品| 老鸭窝亚洲一区二区三区| 久久这里只有| 中文字幕一区二区av| 久久久久久一区二区| 日本一区二区三区中文字幕| 日韩三级视频| 国产午夜精品一区在线观看| 99在线观看免费视频精品观看| 麻豆一区二区三区| 日本91福利区| 久久男人天堂| 亚洲一级淫片| 国产91欧美| 亚洲精一区二区三区| 美女国产精品久久久| 在线日韩电影| 国产在线不卡一区二区三区| 婷婷精品久久久久久久久久不卡| 日韩精选在线| 欧美日韩第一| 精品日本视频| 国产欧美丝祙| 激情欧美一区二区三区| 亚洲成人不卡| 日韩精品午夜视频| 日av在线不卡| av最新在线| 五月激情久久| 国产九一精品| 国产精品xxx| 亚洲欧美日韩在线观看a三区| 国产欧美日韩精品一区二区免费| 中文在线不卡| 国产精品专区免费| 欧美一区自拍| 免费亚洲一区| 亚洲精品黄色| 亚洲综合三区| 亚洲欧洲一区二区天堂久久| 免费在线观看不卡| 久久91导航| 中文不卡在线| 欧美日韩国产传媒| 亚洲日本在线观看视频| 日本亚洲视频在线| 国产精品久久久久久久免费软件| 蜜臀国产一区二区三区在线播放| 91精品精品| 欧美日韩色图| 国产在线日韩| 中文字幕人成乱码在线观看| 国产自产自拍视频在线观看| 狂野欧美性猛交xxxx| 激情欧美丁香| 日韩区欧美区| 国产视频网站一区二区三区| 欧美一区影院| 中文字幕在线高清| 日韩88av| 亚洲日产国产精品| 国产91在线精品| 影音先锋久久精品| 亚洲久久一区| 久久国产精品成人免费观看的软件| 国际精品欧美精品| 久久99精品久久久野外观看| 国产aⅴ精品一区二区三区久久| 正在播放日韩精品| 欧美中文一区| 国产精品嫩模av在线| 成人福利视频| 日产欧产美韩系列久久99| 久久三级中文| 国产亚洲一级| 秋霞影院一区二区三区| 免费一级片91| 国产精品99精品一区二区三区∴ | 国产图片一区| 伊人精品一区| 日本激情一区| 亚洲男女av一区二区| 偷拍亚洲精品| 九色porny丨国产首页在线| 日韩亚洲国产欧美| 红桃视频国产一区| 国产午夜一区| 国产麻豆综合| 国产网站在线| 国产探花一区| 日韩视频精品在线观看| 精品淫伦v久久水蜜桃| 久久都是精品| 久久精品二区亚洲w码| 亚洲乱码久久| 亚洲欧美日韩精品一区二区| 国产精品日本一区二区不卡视频| 亚洲欧美久久| 婷婷激情久久| 麻豆91精品视频| 日本视频一区二区| 激情五月色综合国产精品| 久久精品毛片| 国产日韩在线观看视频| 久久中文字幕av一区二区不卡| 国产精品流白浆在线观看| 免费在线视频一区| 99tv成人| 久久精品天堂| 亚洲精品.com| 国产三级一区| 日韩一区二区三区四区五区| 亚洲一区有码| 一区二区三区视频免费观看 | 性欧美长视频| 夜夜嗨一区二区三区| 蜜臀精品久久久久久蜜臀| 日本精品黄色| www.51av欧美视频| 成人亚洲欧美| 日韩精品第一区| 一本色道久久精品|