記第一次爬蟲(chóng)

爬上海證券網(wǎng)的大標(biāo)題和top-topic猫妙。使用的是beautifulsoup。

過(guò)程中遇到的問(wèn)題

網(wǎng)頁(yè)結(jié)構(gòu)不難仰税,我希望能得到網(wǎng)頁(yè)中所有的大標(biāo)題--》就是<h1/>標(biāo)簽中的標(biāo)題和top-toptic中所有的標(biāo)題构资。

1.beautifulsoup中findAll函數(shù)不支持交集的查找。

findAll函數(shù)中的參數(shù)只支持并集的查找陨簇,比如:

 print(bsObj.findAll("div","h1","a"))

會(huì)把所有div吐绵,h1,a標(biāo)簽的內(nèi)容全部提取出來(lái)河绽,而不是div中h1己单,h1中a的標(biāo)簽的內(nèi)容。如果需要這樣查找耙饰,也可以用children函數(shù)來(lái)實(shí)現(xiàn)纹笼。但是用位置定位你需要的內(nèi)容太麻煩了。
所以我的解決辦法是苟跪,分別查找然后去重廷痘。然后就遇到第二個(gè)問(wèn)題

2.如何對(duì)中文進(jìn)行比較

在beautifulsoup里中文編碼是Unicode。但是python中比較字符串是否一致的函數(shù)件已。在上證網(wǎng)中top-list含在一個(gè)class屬性值為top-area 的div里面笋额,當(dāng)我對(duì)這個(gè)div進(jìn)行提取文字,是提取了這個(gè)段落里面的所有的文字篷扩。這些文字是被當(dāng)做連續(xù)的內(nèi)容整體處理的兄猩。也就是說(shuō)里面的文字的內(nèi)容可能是來(lái)自<h1/>標(biāo)題,也可能是來(lái)自<h2/>標(biāo)題等鉴未。所以可以用找子串的函數(shù)來(lái)處理枢冤。如果查找<h1/>標(biāo)題在<div/>標(biāo)簽里面出現(xiàn),就刪除歼狼。

index = Obj_toplist.get_text().find(obj_h1.get_text())

刪除函數(shù)是

Objs_h1.remove(remove_list)
3.去除重復(fù)的標(biāo)簽

對(duì)于list可以用remove去除list中第一個(gè)匹配成功的元素掏导。但是remove會(huì)讓list的長(zhǎng)度減1.所以如果有倆個(gè)連續(xù)的位置需要去除。不能識(shí)別一個(gè)去除一個(gè)羽峰。這樣會(huì)漏掉倆個(gè)連續(xù)位置的中的第二個(gè)元素。做法是對(duì)于遇到的重復(fù)的標(biāo)簽添瓷,先儲(chǔ)存梅屉,然后一次性全部去除。

for remove_list in removes_list:
             Objs_h1.remove(remove_list)

以下是源代碼

from urllib.request import urlopen
from bs4 import BeautifulSoup
import re


html  = urlopen("http://www.cnstock.com")
bsObj = BeautifulSoup(html,"html.parser")

Objs_h1      = bsObj.findAll("h1")
Objs_toplist = bsObj.findAll("div",{"class":"top-area"})
removes_list = []

#去除重復(fù)的文字【重要新聞處理】
for Obj_toplist in Objs_toplist:
    for obj_h1 in Objs_h1:
    index = Obj_toplist.get_text().find(obj_h1.get_text())
    if index !=-1 :
        removes_list.append(obj_h1)

for remove_list in removes_list:
Objs_h1.remove(remove_list)


print("重要新聞")
for Obj_h1 in Objs_h1:
    print(Obj_h1.get_text())
for Obj_toplist in Objs_toplist:
    print(Obj_toplist.get_text())
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鳞贷,一起剝皮案震驚了整個(gè)濱河市坯汤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搀愧,老刑警劉巖惰聂,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疆偿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搓幌,警方通過(guò)查閱死者的電腦和手機(jī)杆故,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)溉愁,“玉大人处铛,你說(shuō)我怎么就攤上這事」战遥” “怎么了撤蟆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)堂污。 經(jīng)常有香客問(wèn)我家肯,道長(zhǎng),這世上最難降的妖魔是什么盟猖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任讨衣,我火速辦了婚禮,結(jié)果婚禮上扒披,老公的妹妹穿的比我還像新娘值依。我一直安慰自己,他們只是感情好碟案,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布愿险。 她就那樣靜靜地躺著,像睡著了一般价说。 火紅的嫁衣襯著肌膚如雪辆亏。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天鳖目,我揣著相機(jī)與錄音扮叨,去河邊找鬼。 笑死领迈,一個(gè)胖子當(dāng)著我的面吹牛彻磁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狸捅,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼衷蜓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了尘喝?” 一聲冷哼從身側(cè)響起磁浇,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎朽褪,沒(méi)想到半個(gè)月后置吓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體无虚,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年衍锚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了友题。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡构拳,死狀恐怖咆爽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情置森,我是刑警寧澤斗埂,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站凫海,受9級(jí)特大地震影響呛凶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜行贪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一漾稀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧建瘫,春花似錦崭捍、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至橄浓,卻和暖如春粒梦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荸实。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工匀们, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人准给。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓泄朴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親露氮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叼旋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 請(qǐng)參看我github中的wiki沦辙,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,127評(píng)論 2 19
  • 一)jQuery九類(lèi)選擇器【參見(jiàn)jQueryAPI.chm手冊(cè)】 目的:通過(guò)九類(lèi)選擇器讹剔,能定位web頁(yè)面(HTML...
    奮斗的老王閱讀 1,039評(píng)論 0 51
  • <a name='html'>HTML</a> Doctype作用油讯?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)详民、<...
    clark124閱讀 3,481評(píng)論 1 19
  • 花點(diǎn)心思,素食早餐一樣很精彩陌兑! 30款素食早餐 讓您一個(gè)月不重樣沈跨!
    素之味閱讀 2,321評(píng)論 0 0