PYTHON實戰(zhàn)計劃練手項目2--爬取商品信息

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

展示結果

Paste_Image.png

我的代碼


from bs4 import BeautifulSoup

#本地網頁路徑
path='/Users/zorro/Desktop/Plan-for-combating-master/week1/1_2/1_2answer_of_homework/1_2_homework_required/index.html'
#讀取本地網頁數據
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),把每個元素裝到字典里
    # 據分析,星級數據儲存在span標簽中的CSS為'glyphicon glyphicon-star',通過統計數量來得到星級數
    star_num=len(star.find_all("span", class_='glyphicon glyphicon-star'))
    star_logo='★'*star_num+'☆'*(5-star_num)                               #參考優(yōu)秀作業(yè),把星級數據可視化,轉變?yōu)樾切?    data={
        'title':title.get_text(),
        'price':price.get_text(),
        'review':review.get_text().split()[0], #這里用split函數把瀏覽量與review分割開,并取首個元素,即只取數字
        'image':image.get('src'),              #獲取圖片的src屬性,得到圖片的地址
        'star': star_logo
    }
    print(data)






總結

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

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

相關閱讀更多精彩內容

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

友情鏈接更多精彩內容