python爬蟲爬取頁面源碼在本頁面展示
阿新 • • 發佈:2017-08-06
一個 nts ring 想要 strip code 空白 列表 ngs python爬蟲在爬取網頁內容時,需要將內容連同內容格式一同爬取過來,然後在自己的web頁面中顯示,自己的web頁面為django框架
首先定義一個變量html,變量值為一段HTML代碼
>>> print(html) <div id=1> my <br> name <br> is JAY <br> </div>,我們現在要取div裏面的內容,在自己的web頁面中顯示,空格和換行符等都以HTML代碼的形式抓取。最終想要的數據為 my <br> name <br> is JAY <br> (1)首先soup.string是不行的,因為div下面不止一個子標簽
>>> from可以看到返回值為空 (2)使用get_text()也是不行的,因為get_text()獲取的字符串都是轉義後的,我們要的是原生的HTML代碼bs4 import BeautifulSoup >>> soup = BeautifulSoup(html, ‘html.parser‘) >>> soup.string >>>
>>> soup.get_text() ‘ \n \xa0\xa0my \n \xa0 name \n is \xa0 JAY \n‘不過get_text()在其他很多場合很實用,它可以獲取標簽下的所有子孫標簽內的文本內容 同時可以指定參數
>>> soup.get_text(‘或者使用soup.stripped_strings生成器,獲取文本內容手動處理 (3)可以使用.contents|‘) #所有tag文本內容的分隔符 ‘ \n \xa0\xa0my | \n \xa0 name |\n is \xa0 JAY |\n‘ >>> soup.get_text(‘|‘, strip=True) #去掉文本內容前後的空白 ‘my|name|is \xa0 JAY‘
>>> content_soup = soup.div.contents >>> content_soup [‘ \n \xa0\xa0my ‘, <br/>, ‘至此,就可以直接將變量放到web頁面中\n \xa0 name ‘, <br/>, ‘\n is \xa0 JAY ‘, <br/>, ‘\n‘] >>> content_soup = [str(i) for i in content_soup] #列表中的所有值改換為字符串類型 >>> content_text = ‘‘.join(content_soup) #合並列表到一個字符串中 >>> content_text ‘ \n \xa0\xa0my <br/> \n \xa0 name <br/>\n is \xa0 JAY <br/>\n‘ >>> print(content_text) my <br/> name <br/> is JAY <br/>
python爬蟲爬取頁面源碼在本頁面展示