目錄
- python爬蟲學(xué)習(xí)-day1
- python爬蟲學(xué)習(xí)-day2正則表達(dá)式
- python爬蟲學(xué)習(xí)-day3-BeautifulSoup
- python爬蟲學(xué)習(xí)-day4-使用lxml+xpath提取內(nèi)容
- python爬蟲學(xué)習(xí)-day5-selenium
- python爬蟲學(xué)習(xí)-day6-ip池
- python爬蟲學(xué)習(xí)-day7-實(shí)戰(zhàn)
BeautifulSoup
BeautifulSoup官方教程:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
BeautifulSoup是一個(gè)可以將復(fù)雜的HTML文檔轉(zhuǎn)換成一個(gè)復(fù)雜的樹形結(jié)構(gòu)坷衍,每個(gè)節(jié)點(diǎn)都是python對象借跪,所有對象可以歸納為4種:Tag、NavigableString挣菲、BeautifuSoup和Comment乎完。
使用beautifulsoup提取丁香園論壇的回復(fù)內(nèi)容佑菩。
地址: http://www.dxy.cn/bbs/thread/626626#626626
示例:
from bs4 import BeautifulSoup as bs
import urllib.request
# 樓主离唐, 發(fā)布時(shí)間, 發(fā)布內(nèi)容
def main():
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36'
}
url = 'http://www.dxy.cn/bbs/thread/626626#626626'
request = urllib.request.Request(url, headers=headers)
context = urllib.request.urlopen(request).read().decode('utf-8')
# 指定解析器
html = bs(context, 'lxml')
# 用來存放獲取的用戶名沸毁、發(fā)布時(shí)間和評論
datas = []
try:
names = html.select('div.auth')
create_times = html.select('div.post-info span:first-child')
contexts = html.select('td.postbody')
for i in range(len(names)-1):
name = names[i].get_text(strip=True)
create_time = create_times[i].get_text(strip=True)
context = contexts[i].get_text(strip=True)
dictTmp = {'name': name, 'create_time': create_time, 'context': context}
print(dictTmp)
datas.append(dictTmp)
except BaseException as e:
pass
return datas
if __name__ == '__main__':
main()
結(jié)果:
{'name': '樓醫(yī)生', 'create_time': '2003-11-17 19:12', 'context': '我遇到一個(gè)“怪”病人峰髓,向大家請教。她息尺,42歲儿普。反復(fù)驚嚇后暈厥30余年。每次受響聲驚嚇后發(fā)生跌倒掷倔,短暫意識喪失眉孩。無逆行性遺忘,無抽搐勒葱,無口吐白沫浪汪,無大小便失禁。多次跌倒致外傷凛虽。嬰兒時(shí)有驚厥史死遭。入院查體無殊。ECG凯旋、24小時(shí)動(dòng)態(tài)心電圖無殊呀潭;頭顱MRI示小軟化灶;腦電圖無殊至非。入院后有數(shù)次類似發(fā)作钠署。請問該患者該做何診斷,還需做什么檢查荒椭,治療方案怎樣谐鼎?'}
{'name': 'lion000', 'create_time': '2003-11-17 21:02', 'context': '從發(fā)作的癥狀上比較符合血管迷走神經(jīng)性暈厥,直立傾斜試驗(yàn)?zāi)軈f(xié)助診斷趣惠。在行直立傾斜實(shí)驗(yàn)前應(yīng)該做常規(guī)的體格檢查狸棍、ECG身害、UCG、holter和X-ray胸片除外器質(zhì)性心臟病草戈。貼一篇“口服氨酰心安和依那普利治療血管迷走性暈厥的療效觀察”作者:林文華 任自文 丁燕生http://www.ccheart.com.cn/ccheart_site/Templates/jieru/200011/1-1.htm'}
{'name': 'xghrh', 'create_time': '2003-11-17 21:45', 'context': '同意lion000版主的觀點(diǎn):如果此患者隨著年齡的增長塌鸯,其發(fā)作頻率逐漸減少且更加支持,不知此患者有無這一特點(diǎn)唐片。入院后的HOLTER及血壓監(jiān)測對此患者只能是一種安慰性的檢查丙猬,因在這些檢查過程中患者發(fā)病的機(jī)會(huì)不是太大,當(dāng)然不排除正好發(fā)作的情況牵触。對此患者應(yīng)常規(guī)作直立傾斜試驗(yàn),如果沒有誘發(fā)出咐低,再考慮有無可能是其他原因所致的意識障礙揽思,如室性心動(dòng)過速等,但這需要電生理尤其是心腔內(nèi)電生理的檢查见擦,畢竟是有一種創(chuàng)傷性方法钉汗。因在外地,下面一篇文章可能對您有助鲤屡,請您自己查找一下损痰。心理應(yīng)激事件誘發(fā)血管迷走性暈厥1例 ,楊峻青酒来、吳沃棟卢未、張瑞云,中國神經(jīng)精神疾病雜志堰汉, 2002 Vol.28 No.2'}
PS: 若你覺得可以辽社、還行、過得去翘鸭、甚至不太差的話滴铅,可以“關(guān)注”一下,就此謝過!