我正在用Python制作一个Selenium WebDriver抓取脚本来从Instagram抓取数据,这将帮助我为深度学习问题创建一个数据集。我既不能存储webdriverObject.get_attribute()
的 Unicode 返回值,也不能将其转换为字符串。但令人惊讶的是,我能够打印这些值。
将 Unicode 转换为字符串后,如何将结果存储到列表中?
下面是我的代码:
################################ import modules and set path ###############
from selenium import webdriver
path="C:UsersUserDownloadschromedriver_win32chromedriver.exe"
driver=webdriver.Chrome(path)
from time import sleep
################################ login into instagram #######################
driver.get('https://www.instagram.com/accounts/login')
username = driver.find_element_by_xpath('//*[@name="username"]')
password = driver.find_element_by_xpath('//*[@name="password"]')
username.send_keys("username") #pass your username
password.send_keys("pass") #pass your password
sleep(3)
a=driver.find_element_by_css_selector("._5f5mN").click()
######################################## search for a hashtag###################
inpu=raw_input("Enter the hashtag: ")
url="https://www.instagram.com/explore/tags/"+inpu+"/?hl=en"
driver.get(url)
b=[]
for i in driver.find_elements_by_tag_name("img"):
b.append(i.get_attribute("srcset"))
print b
上述代码的输出是 [u'', u'', u'', u', u', u' 这是一个空白 Unicode 的列表。
如果我现在更改代码的最后一部分并用print i.get_attribute("srcset")
替换b.append(i.get_attribute("srcset"))
,那么它似乎正在打印链接。
尝试使用以下方法:
i.get_attribute("srcset").decode("utf-8")
希望对您有所帮助!