2017-07-25 126 views
1

當我試圖擺脫「?」後面的所有內容時,出現錯誤在一組刮鏈接:刪除「?」後的所有內容python

代碼:

from selenium import webdriver 
import pandas as pd 
import time 
from datetime import datetime 
from collections import OrderedDict 
import re 

browser = webdriver.Firefox() 
browser.get('https://www.kickstarter.com/discover?ref=nav') 
categories = browser.find_elements_by_class_name('category-container') 

category_links = [] 
for category_link in categories: 
    category_links.append((str('https://www.kickstarter.com'), 
        category_link.find_element_by_class_name('bg-white').get_attribute('href'))) 
    print(category_links) 
    for i in category_link: 
    category_links2 = re.sub('?$', '', category_links) 
    print(category_links2) 

錯誤:

TypeError: 'FirefoxWebElement' object is not iterable

+0

什麼行會拋出錯誤? – SeeDerekEngineer

回答

3
  1. 您需要遍歷category_linksi是循環變量

  2. 您需要申請re.sub超過i,不category_links因爲後者是一個列表,re.sub不會在名單工作。

  3. 對於這樣一個簡單的任務,我建議拆分上?str.split


for i in category_links: 
    category_links2 = i[1].split('?')[-1] 
    print(category_links2) 
+0

@nemja告訴我什麼元組的樣子。 –

+0

[('https://www.kickstarter.com','https://www.kickstarter.com/discover/categories/art?ref=discover_index'),('https://www.kickstarter.com' ,'https://www.kickstarter.com/discover/categories/comics?ref=discover_index')等。 – nemja

+0

@nemja檢查我的編輯_now_。 –

2

爲什麼不只是...... 如果URL是你的鏈接

url.split('?')[0] 
+0

獲取以下錯誤; AttributeError:'list'對象沒有屬性'split' – nemja

+0

在這種情況下只是做這樣的事情,url [0] .split('?')[0] –