久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

python爬數(shù)據(jù),得到一個列表,但怎樣去掉里面的span標(biāo)簽?zāi)兀?/h1>
瀏覽:136日期:2022-07-11 09:18:11

問題描述

用p6ython3.6爬下了部分?jǐn)?shù)據(jù),但是最后顯示的是含span標(biāo)簽的列表,當(dāng)我用get_text、contents等方法,就會報錯。這是為什么呢?最開始返回的結(jié)果如下:

[<span>2017.5.2</span>][<span>2017.4.26</span>][<span>2017.4.24</span>][<span>2017.4.19</span>][<span>2017.3.23</span>][<span>2017.3.17</span>][<span>2017.2.14</span>][<span>2017.2.9</span>][<span>2017.2.6</span>][<span>2017.2.6</span>]

我的代碼如下:

import requestsfrom bs4 import BeautifulSoupimport re# def url_list():# for number in range(1,21):# url_links=[]# url='X'.format(i=number)# url_links.append(url)h={'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36'}r=requests.get('url',headers=h)soup=BeautifulSoup(r.text,’lxml’)for data in soup.find('p',{'class':'list-main-eventset-finan'}).find_all('li'): content=data.find('i',{'class':'cell date'}).find_all('span') print(time)

問題解答

回答1:

bs的API記得不是很清楚了,應(yīng)該是有可以直接獲取文本的函數(shù)的,應(yīng)該是get_text()這個函數(shù)吧。由于你用的是find_all(),那么需要再在返回的結(jié)果下做一次遍歷,就是這樣

rs = list()for data in soup.find('p',{'class':'list-main-eventset-finan'}).find_all('li'): contents=data.find('i',{'class':'cell date'}).find_all('span') for content in contents:rs.append(content.get_text())

此外,也可以使用正則表達(dá)式來匹配,直接匹配<span>(.*?)<這個pattern。但是也得像上面那樣遍歷這個contens列表才行。

回答2:

題主可以試試 text_content() 方法

回答3:

正則表達(dá)式或者split+SUBSTRING也可以,靈活著用

標(biāo)簽: Python 編程

主站蜘蛛池模板: 邻水| 织金县| 万州区| 扶风县| 来宾市| 房产| 天峻县| 惠来县| 莒南县| 萍乡市| 司法| 墨竹工卡县| 梁山县| 乡宁县| 小金县| 长汀县| 长治县| 丹巴县| 轮台县| 江西省| 寿光市| 隆德县| 葫芦岛市| 中江县| 柳江县| 西充县| 子长县| 乌恰县| 渭源县| 新营市| 师宗县| 炎陵县| 富裕县| 邢台县| 吴旗县| 三门峡市| 鲁甸县| 霸州市| 拜泉县| 蓬安县| 木兰县|