logo
Loading...

try指令若有多項條件,是否只要不符合其中一項就會判定excep - Cupoy

如下code: (可以順利執行)----------------------------------...

try指令若有多項條件,是否只要不符合其中一項就會判定excep

2019/12/26 04:21 下午
Python網路爬蟲討論版
Emma
觀看數:1
回答數:1
收藏數:0

如下code: (可以順利執行)

-------------------------------------------------------------------------------------------------

rtags=r.find_all('div',class_="r-ent")

titlelist=[]

authorlist=[]

timelist=[]

for rtag in rtags:

    try:

        titlelist.append(rtag.a.text) #建立文章標題list

        authortag=rtag.find('div',class_="author") #找作者標籤

        authorlist.append(authortag.text) #建立作者list

        timedata=rtag.a['href'].split('.')[1] #從標籤 a的屬性 href取出時間整數值(資料型態:字串)

        returntime=TransTime(timedata) #從函式回傳一個轉換後的時間值

        timelist.append(returntime) #將此回傳值加到時間列表

        

    except:

        continue

#建立dataframe

pd.DataFrame({'作者':authorlist,'時間':timelist,'標題':titlelist})

--------------------------------------------------------------------------------------------

但是如果改成先找auther作者的標籤,後找文章標題和時間,就會變成找出來的三個list無法建立dataframe,因為list長度不一,其中authorlist長度為15,其他兩個都是14,

以上現象是否是因為try這個指令,如果先找有文章的標題<a>標籤找到了才會往下找作者author標籤,若第一行try不過,就會直接continue進到下一個迴圈;而若先找author標籤,會找到文章已刪除的author,雖然沒有內容但是標籤存在,但之後繼續找標題的<a>標籤時就找不到了(文章已刪除),所以產生的list長度不同呢? 簡單說,try這個指令若有多項條件,是否只要不符合其中一項就會判定excep?

謝謝~