PYTHON實(shí)戰(zhàn)計(jì)劃練手項(xiàng)目2--爬取商品信息

開始爬蟲之旅,雖然是簡(jiǎn)單的爬取本地網(wǎng)頁,操作起來還是不熟練,但總算完成了,參考了優(yōu)秀作業(yè),把自己的代碼優(yōu)化了一下

展示結(jié)果

Paste_Image.png

我的代碼


from bs4 import BeautifulSoup

#本地網(wǎng)頁路徑
path='/Users/zorro/Desktop/Plan-for-combating-master/week1/1_2/1_2answer_of_homework/1_2_homework_required/index.html'
#讀取本地網(wǎng)頁數(shù)據(jù)
with open(path,'r') as wb_data:
    Soup=BeautifulSoup(wb_data,'lxml')
    images=Soup.select(
        'body > div > div > div.col-md-9 > div > div > div > img')
    prices=Soup.select(
        'body > div > div > div.col-md-9 > div > div > div > div.caption > h4.pull-right')
    titles=Soup.select(
        'body > div > div > div.col-md-9 > div > div > div > div.caption > h4 > a')
    reviews=Soup.select(
        'body > div > div > div.col-md-9 > div > div > div > div.ratings > p.pull-right')
    stars=Soup.select(
        'body > div > div > div.col-md-9 > div > div > div > div.ratings > p:nth-of-type(2)')

for title,price,review,image,star in zip(titles,prices,reviews,images,stars): #通過for循環(huán),把每個(gè)元素裝到字典里
    # 據(jù)分析,星級(jí)數(shù)據(jù)儲(chǔ)存在span標(biāo)簽中的CSS為'glyphicon glyphicon-star',通過統(tǒng)計(jì)數(shù)量來得到星級(jí)數(shù)
    star_num=len(star.find_all("span", class_='glyphicon glyphicon-star'))
    star_logo='★'*star_num+'☆'*(5-star_num)                               #參考優(yōu)秀作業(yè),把星級(jí)數(shù)據(jù)可視化,轉(zhuǎn)變?yōu)樾切?    data={
        'title':title.get_text(),
        'price':price.get_text(),
        'review':review.get_text().split()[0], #這里用split函數(shù)把瀏覽量與review分割開,并取首個(gè)元素,即只取數(shù)字
        'image':image.get('src'),              #獲取圖片的src屬性,得到圖片的地址
        'star': star_logo
    }
    print(data)






總結(jié)

1.在導(dǎo)入BeautifulSoup的時(shí)候,遇到的點(diǎn)麻煩,多虧老師的幫忙解決了;
2.通過這個(gè)項(xiàng)目,發(fā)現(xiàn)自己的基礎(chǔ)還不扎實(shí),需要重新學(xué)習(xí)基礎(chǔ);
3.只想著把項(xiàng)目完成,卻沒想做得更好,這個(gè)要改進(jìn),看完優(yōu)秀作業(yè)之后,修改了自己的代碼,希望自己的代碼可讀性更高,代碼運(yùn)行結(jié)果更美觀;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,139評(píng)論 25 708
  • 相比昨天,對(duì)BeautifulSoup的使用熟練了點(diǎn),但各方法的理解還是不夠,會(huì)對(duì)list進(jìn)行g(shù)et_text()...
    python入坑者閱讀 485評(píng)論 0 0
  • 我知道你的夢(mèng) 我見過你的笑 我聽見夢(mèng)醒的夜晚你不甘的心跳 不要去計(jì)較 不要卷入那短暫的浮躁 不要為了流云放棄藍(lán)天的...
    宇航讀書閱讀 386評(píng)論 0 1
  • 1.如何進(jìn)入頁面不focus任何view? 2.為何添加了測(cè)試庫,但扔import不到? 3.canvas.dra...
    德羅德閱讀 767評(píng)論 0 0
  • 我們真心寫文章,文章就和擱淺的船一樣無人問津。我們用力去營(yíng)銷,就成就了走進(jìn)千萬人心的謊言。 入職第二天就離職,實(shí)在...
    時(shí)荏苒閱讀 223評(píng)論 0 0

友情鏈接更多精彩內(nèi)容