删除"?"之后的所有内容蟒蛇

时间:2017-07-25 14:46:15

标签: python pandas selenium web-scraping

当我试图摆脱"?"背后的一切时,我收到了一个错误。在一组被删除的链接中:

代码:

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'对象不可迭代

2 个答案:

答案 0 :(得分:3)

  1. 您需要迭代category_linksi是循环变量

  2. 您需要re.sub而非i,而不是category_links,因为后者是一个列表,re.sub不适用于列表。

  3. 对于这样的简单任务,我建议使用?分割str.split

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

答案 1 :(得分:2)

为什么不这样做...... 如果网址是你的链接

url.split('?')[0]