【发布时间】:2015-03-13 03:37:44
【问题描述】:
我正在使用 selenium 网络驱动程序来解析来自 facebook 个人资料的所有文本,即数据挖掘。我需要通过特殊字符进行解析,但尝试时出现错误。我不知道为什么,因为我在使用它之前对其进行了编码,但它仍然返回错误。
我试图搜索的字符是'·'
如果我按这个字符拆分每个帖子将按行拆分。
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
driver = webdriver.Firefox()
driver.get("https://www.facebook.com/userprofilelink")
inputEmail = driver.find_element_by_id("email")
inputEmail.send_keys("fbemail")
inputPass = driver.find_element_by_id("pass")
inputPass.send_keys("fbpasswd")
inputPass.submit()
page_text = (driver.page_source).encode('utf-8')
soup = BeautifulSoup(page_text)
parse_data = soup.get_text().encode('utf-8').split('Name how it appears on post John Doe')
latest_message = parse_data[3]
这是我的错误发生的地方。我明白了:
SyntaxError: Non-ASCII character '\xc2' in file C:\Users\Administraor\workspace\NagioPlugins\selinium_test.py on line 19, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
代码:
search_string = ('·').encode('utf-8')
latest_message = parse_data[3].split(search_string)
print latest_message
driver.close()
print latest_message
【问题讨论】:
-
那么你为什么不真正阅读给你的链接呢?你为什么要编码一个字节字符串?您必须解码为 unicode。
-
除了 PEP 链接,您真的应该首先阅读 Unicode:Joel Spolsky 的 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!),Ned Batchelder 的 Python Unicode HOWTO 和 Pragmatic Unicode
-
当您按名称拆分时没有给出链接,它将分成大约 7 个索引值“这是所有后硒加载,因为它是默认情况下在我的浏览器访问我的个人资料时加载的”,然后页面上的每一行都由这个字符分隔。因此,如果我用特殊字符分割每个索引条目,我会将它们分成单独的行。这将使解析帖子之间的时间差等内容变得更容易。
标签: python python-2.7 selenium