当我试图摆脱"?"背后的一切时,我收到了一个错误。在一组被删除的链接中:
代码:
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'对象不可迭代
答案 0 :(得分:3)
您需要迭代category_links
。 i
是循环变量
您需要re.sub
而非i
,而不是category_links
,因为后者是一个列表,re.sub
不适用于列表。
对于这样的简单任务,我建议使用?
分割str.split
:
for i in category_links:
category_links2 = i[1].split('?')[-1]
print(category_links2)
答案 1 :(得分:2)
为什么不这样做...... 如果网址是你的链接
url.split('?')[0]