性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 如何使用Python進行Web爬網(wǎng)?

如何使用Python進行Web爬網(wǎng)?

2020-09-10 17:12:27 | 來源:中培企業(yè)IT培訓網(wǎng)

作為數(shù)據(jù)科學家,收集數(shù)據(jù)的最有效方法之一是借助Web抓取。網(wǎng)頁抓取是一種將數(shù)據(jù)從Web捕獲到我們本地計算機中的技術(shù),以對它執(zhí)行某些數(shù)據(jù)分析或數(shù)據(jù)可視化操作,以從該數(shù)據(jù)中獲得有用的見解,也稱為Web收集或數(shù)據(jù)提取。在本文中,將借助于兩個名為Requests和bs4(Beautiful Soup)的金色庫來抓取網(wǎng)絡上的信息。選擇這兩個庫的原因是它們比其他可用庫更強大和靈活。

先決條件

HTML標簽和CSS選擇器的基礎(chǔ)知識是必需的。

從Web捕獲數(shù)據(jù)始于向Web發(fā)送請求要從哪個網(wǎng)站捕獲數(shù)據(jù)。該任務是在“請求”模塊的幫助下完成的。

要向網(wǎng)站提出請求,首先我們需要在python中導入請求模塊。它不是python中的預內(nèi)置模塊。我們需要在pip的幫助下安裝該軟件包。

>>>導入請求#模塊成功導入。

#提出要求

>>>響應= request.get

#響應變量將包含該請求對象的響應。

要檢查請求對象的狀態(tài),我們需要在請求模塊中使用status_code屬性。

>>> response.status_code

如果狀態(tài)代碼值的結(jié)果為200,則您從網(wǎng)站獲得了成功的響應。否則,您將從網(wǎng)頁中得到不好的響應。問題可能出在Web URL或服務器問題上。

  請求類型

借助請求模塊,主要有六種類型的請求是可能的。

1. get()請求

2. post()請求

3. put()請求

4. 刪除請求

5. head()請求

6. options()請求

向網(wǎng)頁發(fā)出任何形式的請求的語法是-

requests.methodName('url')

但是,最流行的向網(wǎng)頁發(fā)出請求的方法僅使用get()和post()方法。

要發(fā)送任何類型的敏感數(shù)據(jù)以及諸如登錄憑據(jù)等URL之類的URL,則post()請求是更可取的,因為HTTP get()請求不會為已發(fā)送到網(wǎng)頁的請求提供任何安全性。

R = requests.post

回應結(jié)果

我們的請求的響應內(nèi)容是通過text屬性獲得的。

>>> response.text

由此可以得出結(jié)論,我們將網(wǎng)頁內(nèi)容下載到了本地計算機上。為了使內(nèi)容更加靈活和有用,我們需要借助Beautiful Soup庫。該庫可幫助我們從可用數(shù)據(jù)中獲得有用的見解。

#導入漂亮的湯庫

>>> import bs4

為了使原始HTML數(shù)據(jù)更加美觀,我們需要在某些解析器的幫助下解析內(nèi)容。經(jīng)常使用的解析器是-

1. xml文件

2. HTML5lib

3. XML解析器

4. HTML.parser

但是最靈活和最受歡迎的是lxml解析器。它可以非常快速有效地解析數(shù)據(jù)。

>>> soup_obj = bs4.BeautifulSoup(response.text,'lxml')

#soup_obj將使我們獲取所需的結(jié)果

#為了使我們之前的數(shù)據(jù)更容易理解,我們將在湯匙上使用prettify()

>>> soup_obj.prettify()

因此,最后,我們又向前邁了一步。數(shù)據(jù)提取從此處開始-

要提取網(wǎng)頁的名稱,我們需要使用選擇器以及適當?shù)腍TML標簽來獲得結(jié)果

>>> soup_obj.select('title')[0] .getText()

要從該網(wǎng)頁提取所有鏈接,您需要找到該頁面中的所有錨標記并將結(jié)果存儲到變量中。借助for循環(huán)迭代,它完全可以打印結(jié)果

>>> links = soup_obj.find_all('a')

#find_all()將有助于獲取所選標簽的所有詳細信息。

>>>對于鏈接中的鏈接:

... print(link.get('href'))

...

#get()用于從標記中提取特定內(nèi)容

這是一個從網(wǎng)頁獲取鏈接的簡單示例。如果您想從網(wǎng)頁中提取其他數(shù)據(jù),請選擇與您的內(nèi)容相關(guān)的適當標簽,并在湯對象的幫助下獲取結(jié)果。最初,這感覺很困難,但是當您在使用它時,絕對可以在一分鐘內(nèi)爬出任何類型的網(wǎng)站。

  免責聲明

未經(jīng)管理員許可,請勿執(zhí)行網(wǎng)站網(wǎng)頁抓取。可能導致非法活動。公司中的數(shù)據(jù)科學家通常會在自己的網(wǎng)頁和業(yè)務上進行網(wǎng)絡抓取,而他們并未在其他公司網(wǎng)站上執(zhí)行任何非法操作。所以要小心如果有任何原因造成您損壞,如果發(fā)生違法活動概不負責。

我在本教程中使用的網(wǎng)頁可以隨意刮取,因此完全沒有問題。使用此類網(wǎng)站來學習或提高您的技能。

通過上述介紹,如何使用Python進行Web爬網(wǎng)相信大家已經(jīng)清楚了吧,想了解更多關(guān)于Python的信息,請繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 日韩精品91爱爱 | www.色小妹.com | 亚洲有声 精品录音在线 | 国产精品久久久久无码av | 在线观看美女黄视频 | 337p粉嫩日本欧洲亚洲555 | 性久久久久久久久波多野结衣 | 亚洲国产另类av | 久久人搡人人玩人妻精品首页 | 国产两女互慰高潮视频在线观看 | 久久免费看少妇高潮a片特黄 | 亚洲欧洲日韩一区二区三区 | a在线观看 | 蜜桃夜夜躁狠狠躁日日躁 | 捆绑白丝jk震动捧喷白浆 | 国内xxxx乱女另类 | 国产欧美VA欧美VA香蕉在 | 成人性生活片 | 免费av直接进入 | 一二三四在线播放 | 男人的天堂网页 | 男女互舔中出水抽插视频 | 古代的一a一片一级一片 | 国产综合高清 | 蜜桃精品视频在线观看 | 国产午夜福利久久网 | r日本韩国香港黄色影片三级网站 | 91caoprom最新超碰地址 | 人人爱操| 欧美精品一区二区蜜臀亚洲 | 超碰97人人做人人爱2020 | 亚欧免费无码aⅴ在线观看 一二三四视频高清在线观看 | wwwxxxx在线观看 | 国产av日韩a∨亚洲av | 最新无码A∨在线观看 | 18禁无遮挡羞羞污污污污免费 | 夜夜躁狠狠躁日日躁av | 91免费播放 | 麻豆国产精品久久人妻 | 野花社区免费观看视频高清 | 推川悠里在线观看av影片 |