小编Cha*_*hae的帖子

Python - UnicodeEncodeError:'charmap' 编解码器无法对位置 85-89 的字符进行编码:字符映射到 <undefined>

我想看看我是否可以将 的输出传输urllib.request.urlopen()到一个文本文件来查看它。我尝试将输出解码为字符串,以便可以写入文件,但显然原始输出包含一些未正确转换为字符串的韩语字符。

到目前为止,我有:

from urllib.request import urlopen

openU = urlopen(myUrl)
pageH = openU.read()
openU.close()
stringU = pageH.decode("utf-8")

f=open("test.txt", "w+")
f.write(stringU)
Run Code Online (Sandbox Code Playgroud)

直到最后一步我才收到任何错误,此时它说:

Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "C:\Users\Chae\AppData\Local\Programs\Python\Python36\lib\encodings\cp1252.py", line 19, in encode  
  return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode characters in position 85-89: character maps to `<undefined>`
Run Code Online (Sandbox Code Playgroud)

有没有办法让字符串也包含韩语,或者如果没有,我如何跳过导致问题的字符并将字符串的其余部分写入文件?

python utf-8 web-scraping python-3.x

5
推荐指数
1
解决办法
1万
查看次数

Selenium 返回空字符串而不是实际数据

我正在通过 Python 使用 Selenium 来尝试网络抓取。我几乎到了我想去的地方,但我遇到了我现在意识到的问题。所以我正在使用的元素是这样的:

<td class=" ui-datepicker-days-cell-over  ui-datepicker-current-day ui-datepicker-today" 
data-handler="selectDay" data-event="click" data-month="3" data-year="2018">
    <a class="ui-state-default ui-state-highlight ui-state-active" href="#">10
    </a>
</td>
Run Code Online (Sandbox Code Playgroud)

我的最终目标是获得 a 标签之间的 10 个。到目前为止,这是我的代码:

option = selenium.webdriver.ChromeOptions()
option.add_argument(" - incognito")
browser = webdriver.Chrome(executable_path=r"chromedriver.exe")
browser.get(myUrl)
calendar = browser.find_element_by_xpath(
    '/html/body/main/section/div[2]/div[1]/div[2]/div[3]/div/div[1]/div/div[1]/div[2]')
viewCal = browser.find_element_by_name('choice_set[begin_at]')
viewCal.click()

row = calendar.find_elements_by_tag_name('tr')

column = calendar.find_elements_by_tag_name('td')
numb = column[0].find_element_by_tag_name('a')
numb.text
Run Code Online (Sandbox Code Playgroud)

numb.text返回''而不是 10。

我在这里做错了什么?

python selenium web-scraping python-3.x selenium-chromedriver

0
推荐指数
1
解决办法
1561
查看次数