您好,登錄后才能下訂單哦!
怎么在python中提取數(shù)據(jù)?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
1、正則表達(dá)式(re庫)
正則表達(dá)式通常用于在文本中查找匹配的字符串。Python里數(shù)量詞默認(rèn)是貪婪的(在少數(shù)語言里也可能是默認(rèn)非貪婪),總是嘗試匹配盡可能多的字符;非貪婪的則相反,總是嘗試匹配盡可能少的字符。
from get_html import download import re url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/' page_content = download(url) country = re.findall('class="h3dabiaoti">(.*?)</h3>', page_content) #注意返回的是list survey_data = re.findall('<tr><td bgcolor="#FFFFFF" id="wzneirong">(.*?)</td></tr>', page_content) survey_info_list = re.findall('<p> (.*?)</p>', survey_data[0]) survey_info = ''.join(survey_info_list) print(country[0],survey_info)
2、BeautifulSoup(bs4)
beautifulSoup是用python語言編寫的一個(gè)HTML/XML的解析器,它可以很好地處理不規(guī)范標(biāo)記并將其生成剖析樹(parse tree)。它提供簡單而又常見的導(dǎo)航(navigating),搜索及修改剖析樹,此可以大大節(jié)省編程時(shí)間。
from get_html import download from bs4 import BeautifulSoup url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/' html = download(url) #創(chuàng)建 beautifulsoup 對象 soup = BeautifulSoup(html,"html.parser") #搜索 country = soup.find(attrs={'class':'h3dabiaoti'}).text survey_info = soup.find(attrs={'id':'wzneirong'}).text print(country,survey_info)
3、lxml
lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的數(shù)據(jù);lxml和正則一樣,也是用C語言實(shí)現(xiàn)的,是一款高性能的python HTML、XML解析器,也可以利用XPath語法,來定位特定的元素及節(jié)點(diǎn)信息。
from get_html import download from lxml import etree #解析樹 url = 'https://guojiadiqu.bmcx.com/AFG__guojiayudiqu/' page_content = download(url) selector = etree.HTML(page_content)#可進(jìn)行xpath解析 country_select = selector.xpath('//*[@id="main_content"]/h3') #返回列表 for country in country_select: print(country.text) survey_select = selector.xpath('//*[@id="wzneirong"]/p') for survey_content in survey_select: print(survey_content.text,end='')
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。