Python實戰(zhàn):爬取商品信息

思路:
  • step 1:打開網(wǎng)頁
  • step 2:用BeautifulSoup的select()方法得到所需要的元素(爬取信息)
  • step 3:用for xxx in zip(xxx)打包不同元素(整理信息)
難點:
  • 統(tǒng)計★的個數(shù)
結(jié)果展示:
總結(jié):
  1. 對于本地html文件褥影,用open()打開,不用requests.get()打開
  2. 我發(fā)現(xiàn)對于一個元素的位置,不必將整條路徑給出卦绣,只需將能確定元素位置的路徑給出即可缝彬。同時生棍,對于復(fù)制元素selector的路徑寺鸥,出現(xiàn)的div:nth-child(2)丑掺,應(yīng)改為div:nth-of-type(2)获印。還有,如果需要一對多街州,改為div即可
  3. find_all()方法兼丰,詳見http://www.cnblogs.com/yupeng/p/3362031.html
  4. 得到了一個tag,要得到它里面的屬性唆缴,比如說"class"屬性鳍征,就可以有三種方法。
    1.用tag["class"]得到
    2.用tag.get('class')得到
    3.用tag.attrs(['class'])得到
  5. 打印python字典面徽,內(nèi)容將是無序的艳丛,如果想要一個特定的順序,那么應(yīng)該在使用前自己對它們排序趟紊。
  6. get_text()函數(shù)必須是soup類型才可以用氮双,其余的不行,用之前需要先看下是不是soup類型霎匈,不然會報錯
  7. if 語句判斷字符串相等:
    == 用來判斷兩個對象的值是否相等
    is 相等代表兩個對象的 id 相同(從底層來看的話戴差,可以看作引用同一塊內(nèi)存區(qū)域)
我的代碼:
from bs4 import BeautifulSoup
import requests
url = 'C:\\Users\\58472\\Desktop\\Python爬蟲\\Plan-for-combating-master\\week1\\1_2\\1_2answer_of_homework\\index.html'
#wb_data = requests.get(url)
#print(wb_data)
#對于本地文件,用open()打開唧躲,不用requests.get()打開
with open(url,'r') as wb_data:
    soup = BeautifulSoup(wb_data,'lxml')
    images = soup.select('div.col-md-9 > div:nth-of-type(2) > div > div > img')
    prices = soup.select('div.col-md-9 > div:nth-of-type(2) > div > div > div.caption > h4.pull-right')
    titles = soup.select('div.col-md-9 > div:nth-of-type(2) > div > div > div.caption > h4:nth-of-type(2) > a')
    rates = soup.select('div.col-md-9 > div:nth-of-type(2) > div > div > div.ratings > p.pull-right')
    stars_tags = soup.find_all("span",{"class":{"glyphicon glyphicon-star","glyphicon glyphicon-star-empty"}})
    stars = []
    for star in stars_tags:
        stars.append(star['class'][1]) #這種方法能夠獲得tag的'class'中的值T焱臁!弄痹!
    num_stars = []
    for index in range(0,int(len(stars)/5)):
        alist = stars[index*5:index*5+5]
        num_stars.append('★'*alist.count('glyphicon-star')+'☆'*alist.count('glyphicon-star-empty')) #數(shù)組的count方法
    for image, price, title, rate, num_star in zip(images,prices,titles,rates,num_stars):
        data = {
            'image': image.get('src'),
            'price': price.get_text(),
            'title': title.get_text(),
            'rate':rate.get_text(),
            'stars':num_star
        }
        print(data) #發(fā)現(xiàn)每次運行的結(jié)果饭入,順序都不同,覺得很奇怪8卣妗P扯!  python字典打印是無序的蚓让,如果想要一個特定的順序乾忱,那么應(yīng)該在使用前自己對它們排序。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末历极,一起剝皮案震驚了整個濱河市窄瘟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌趟卸,老刑警劉巖蹄葱,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锄列,居然都是意外死亡图云,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門邻邮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竣况,“玉大人,你說我怎么就攤上這事筒严〉と” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵鸭蛙,是天一觀的道長嘀掸。 經(jīng)常有香客問我,道長规惰,這世上最難降的妖魔是什么睬塌? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮歇万,結(jié)果婚禮上揩晴,老公的妹妹穿的比我還像新娘。我一直安慰自己贪磺,他們只是感情好硫兰,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布逝嚎。 她就那樣靜靜地躺著惰赋,像睡著了一般垫蛆。 火紅的嫁衣襯著肌膚如雪府蛇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天泳赋,我揣著相機與錄音雌桑,去河邊找鬼。 笑死祖今,一個胖子當(dāng)著我的面吹牛校坑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播千诬,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼耍目,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了徐绑?” 一聲冷哼從身側(cè)響起邪驮,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎傲茄,沒想到半個月后耕捞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡烫幕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年俺抽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片较曼。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡磷斧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捷犹,到底是詐尸還是另有隱情弛饭,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布萍歉,位于F島的核電站侣颂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏枪孩。R本人自食惡果不足惜憔晒,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蔑舞。 院中可真熱鬧拒担,春花似錦、人聲如沸攻询。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钧栖。三九已至低零,卻和暖如春婆翔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掏婶。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工啃奴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人气堕。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像畔咧,于是被迫代替她去往敵國和親茎芭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

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

  • 關(guān)于bs4誓沸,官方文檔的介紹已經(jīng)非常詳細了,傳送:Beautifulsoup 4官方文檔,這里我把它組織成自己已經(jīng)消...
    徐薇薇閱讀 5,366評論 0 1
  • Date:2016-9-21update:2016-9-30By:Black Crow 前言: 終于進入到網(wǎng)絡(luò)頁面...
    black_crow閱讀 849評論 0 2
  • 出現(xiàn)的問題: 當(dāng)爬取交易地點梅桩,使用代碼 時,爬取的結(jié)果是 ['交易地點:']拜隧,而不是我想要的‘地點-地點’形式 ...
    鳴人吃土豆閱讀 1,294評論 1 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理宿百,服務(wù)發(fā)現(xiàn),斷路器洪添,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 鴛鴦是賈府的家生女兒垦页,她的父親金彩是賈府的仆人,她生而為賈府的仆人干奢。 因言語爽利痊焊、行事妥當(dāng),鴛鴦被...
    琳瑯書影閱讀 454評論 0 0