用Python學(xué)爬蟲,第一周第二課:篩選出評分大于3的文章

第二課學(xué)習(xí)需要數(shù)據(jù)結(jié)構(gòu)和循環(huán)的知識,這部分我還沒看到,就一邊跟著老師敲代碼一邊學(xué)習(xí)了。
提前總結(jié)一點(diǎn),不敲不知道,一敲嚇一跳。

供統(tǒng)計的網(wǎng)頁如下:
統(tǒng)計評分大于3的文章
我的代碼:
from bs4 import BeautifulSoup
info=[]
with open('/home/steven/Downloads/Plan-for-combating-master/week1/1_2/1_2code_of_video/web/new_index.html','r') as wb_data:
    Soup = BeautifulSoup(wb_data,'lxml')
    images = Soup.select('body > div.main-content > ul > li > img')
    titles = Soup.select('body > div.main-content > ul > li > div.article-info > h3 > a')
    rates = Soup.select('body > div.main-content > ul > li > div.rate > span')
    cates = Soup.select('body > div.main-content > ul > li > div.article-info > p.meta-info')
    descs = Soup.select('body > div.main-content > ul > li > div.article-info > p.description')

for title,rate,desc,cate,image in zip(titles,rates,descs,cates,images):
    data = {
        'title':title.get_text(),
        'rate':rate.get_text(),
        'desc': desc.get_text(),
        'cate': list(cate.stripped_strings),
        'image':image.get('src')
    }

    info.append(data)

for i in info:
    if float(i['rate'])>3:
        print(i['title'],i['cate'])
代碼運(yùn)行結(jié)果:
篩選結(jié)果
總結(jié):
  • 在檢查模式下從網(wǎng)頁中拷貝網(wǎng)頁元素的路徑時,可能在其中產(chǎn)生一些空格,在pycharm中編譯時會導(dǎo)致失敗,必須去除掉;
  • 注意縮進(jìn)的使用:想要打印 全部信息時,不需要縮進(jìn);而要打印for循環(huán)中的所有信息時,不縮進(jìn)只會打印出第一條數(shù)據(jù)。只有縮進(jìn)后才會打印出全部的數(shù)據(jù);此問題至少困擾我半個小時以上。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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