四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 如何使用python進行網頁爬取?

如何使用python進行網頁爬取?

2020-08-06 14:37:57 | 來源:中培企業IT培訓網

今天將使用python抓取一個股票市場數據的重要來源。我們將為此編寫一個刮板。使用該刮板,您將可以從一個平臺上刮刮任何公司的股票數據。如您所知,想使事情變得簡單,為此還將使用網絡刮板,這將提高您的刮板效率。為什么使用這個工具?該工具將幫助我們使用數百萬個旋轉代理來抓取動態網站,以免被阻止。它還提供了驗證碼清除功能。它使用無標題的chrome抓取動態網站。

  要求

通常,網頁抓取分為兩個部分:

通過發出HTTP請求獲取數據通過解析HTMLDOM提取重要數據

  庫和工具

BeautifulSoup是一個Python庫,用于從HTML和XML文件中提取數據。通過請求,?您可以非常輕松地發送HTTP請求。網絡抓取工具以提取目標網址的HTML代碼。

  建立

我們的設置非常簡單。只需創建一個文件夾并安裝BeautifulSoup和請求即可。要創建文件夾并安裝庫,請在給定命令下方鍵入。我假設您已經安裝了Python3.x。

mkdirscraper

pipinstallbeautifulsoup4

pipinstallrequests

現在,使用您喜歡的任何名稱在該文件夾中創建一個文件。我正在使用scraping.py。

首先,您必須注冊scrapingdogAPI。它將為您提供1000個免費積分。然后,只需在文件中導入BeautifulSoup和請求即可。像這樣。

frombs4importBeautifulSoupimportrequests

我們要抓的東西

這是我們將提取的字段列表:

1.上一個收盤價

2.打開

3.競標

4.問

5.天的范圍

6.52周范圍

7.音量

8.平均卷

9.市值

10.Beta

11.市盈率

12.每股收益

13.收益率

14.預期股息和收益率

15.除息日

16.1y目標EST

準備階段

現在,由于我們具備了準備刮板的所有要素,因此我們應該對目標URL進行GET請求以獲取原始HTML數據。如果您不熟悉抓取工具,請敦促您仔細閱讀其文檔。現在,我們將使用請求庫抓取YahooFinance的財務數據,如下所示。

r=requests.get.text

這將為您提供該目標URL的HTML代碼。

現在,您必須使用BeautifulSoup解析HTML。

soup=BeautifulSoup(r,’html.parser’)

現在,在整個頁面上,我們有四個“tbody”標簽。我們對前兩個感興趣,因為我們目前不需要第三和第四個“tbody”標簽中的可用數據。

首先,我們將使用變量“湯”找出所有這些“身體”標簽。

alldata=soup.find_all(“tbody”)

如您所見,前兩個“tbody”具有8個“tr”標簽,每個“tr”標簽具有兩個“td”標簽。

try:

table1=alldata[0].find_all(“tr”)except:

table1=Nonetry:

table2=alldata[1].find_all(“tr”)except:

table2=None

現在,每個“tr”標簽都有兩個“td”標簽。第一個td標記由屬性的名稱組成,另一個具有該屬性的值。這有點像鍵值對。

此時,我們將在開始for循環之前聲明一個列表和一個字典。

l={}

u=list()

為了簡化代碼,我將為每個表運行兩個不同的“for”循環。首先是“table1”

foriinrange(0,len(table1)):

try:

table1_td=table1[i].find_all(“td”)

except:

table1_td=None

l[table1_td[0].text]=table1_td[1].text

u.append(l)

l={}

現在,我們要做的是將所有td標簽存儲在變量“table1_td”中。然后,我們將第一個和第二個td標簽的值存儲在“字典”中。然后,我們將字典推入列表。由于我們不想存儲重復的數據,因此我們將在最后將字典設為空。對于“table2”,將遵循類似的步驟。

foriinrange(0,len(table2)):

try:

table2_td=table2[i].find_all(“td”)

except:

table2_td=None

l[table2_td[0].text]=table2_td[1].text

u.append(l)

l={}

  然后,當您打印列表“u”時,您將得到一個JSON響應。

{

“Yahoofinance”:[

{

“PreviousClose”:“2,317.80”

},

{

“Open”:“2,340.00”

},

{

“Bid”:“0.00x1800”

},

{

“Ask”:“2,369.96x1100”

},

{

“Day’sRange”:“2,320.00–2,357.38”

},

{

“52WeekRange”:“1,626.03–2,475.00”

},

{

“Volume”:“3,018,351”

},

{

“Avg.Volume”:“6,180,864”

},

{

“MarketCap”:“1.173T”

},

{

“Beta(5YMonthly)”:“1.35”

},

{

“PERatio(TTM)”:“112.31”

},

{

“EPS(TTM)”:“20.94”

},

{

“EarningsDate”:“Jul23,2020—Jul27,2020”

},

{

“ForwardDividend&Yield”:“N/A(N/A)”

},

{

“Ex-DividendDate”:“N/A”

},

{

“1yTargetEst”:“2,645.67”

}

]

}

沒那么神奇。我們僅在5分鐘的設置過程中就刮掉了Yahoo財務。我們有一個python對象數組,其中包含某公司的財務數據。這樣,我們可以從任何網站上抓取數據。

以上即是關于如何使用python進行網頁爬取的全部內容介紹,想了解更多關于python的信息,請繼續關注中培偉業。

相關閱讀

主站蜘蛛池模板: 晋城| 巧家县| 双江| 通化县| 乌拉特中旗| 信宜市| 仁怀市| 陈巴尔虎旗| 姚安县| 靖西县| 彰化市| 勃利县| 隆子县| 孟村| 吴堡县| 东兰县| 永仁县| 崇州市| 手机| 基隆市| 仪征市| 长宁县| 新兴县| 辉县市| 佛教| 札达县| 凤凰县| 万盛区| 高碑店市| 广宁县| 中方县| 盱眙县| 鄂州市| 景谷| 嘉义县| 云梦县| 南溪县| 闵行区| 崇明县| 沙湾县| 德令哈市|