python-3.x - 无法使用python从字符串中删除十六进制字符
问题描述
我已经尝试过使用 encode('ascii', errors='ignore') 之类的解决方案,但是可以使用 python 从字符串中删除这些十六进制字符。这是我的代码..
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import pandas as pd
import json
import datetime
import time
options = Options()
options.add_argument("--disable-gpu")
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome("C:/Webdriver/chromedriver.exe",options=options)
driver.get('https://www.trustradius.com/products/oracle-analytics-cloud/reviews?f=0&o=recent')
time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'lxml')
scripts = soup.find_all('script')[-8].string
script = scripts.split('=',1)[1]
for item in script.split("\n"):
if "searchData" in item:
item = item.replace('searchData: ','')
line = item[0:500]
line = line.encode('ascii', errors='ignore').decode("utf-8")
print(line)
请让我知道是否有人对此有解决方案,谢谢。
解决方案
简单的解决方法是使用下面的代码,如果唯一不正确的字符是 \x20 然后用空白替换它。
item = item.replace('\\x20','')
我在 Stackoverflow 中找到了一些对类似问题有帮助的答案,请参考。 如何从 Python 中的字符串中删除 \xa0?
希望这个解决方案能解决您的问题!
推荐阅读
- processor - 现代四核笔记本电脑是 i7-7700 英特尔处理器、SISD 类型还是 SIMD 类型或 MIMD 类型?
- javascript - 肝线summernote没有触发文本区域的变化
- linux - 在不同的终端选项卡中运行由一个 bash startscript 启动的不同 bash 脚本
- xslt - 我试图在 XSLT 中按 2 个不同的元素进行分组。首先是 HOSTLOCID,然后是 HOSTVENDORLOCID
- react-native - 如果状态发生变化,动画将不会开始(演示用的小零食)
- python - 拆分重复元素的排序数组
- layout - SwiftUI:如何使 GridItem 推出以填充可用空间
- laravel - 无法运行 Laravel Horizon,在 Laravel\Horizon\ProvisioningPlan::__construct() 中出错
- swift - 以线程安全的方式运行组合链
- dataframe - 在数组值列上过滤 PySpark DataFrame 内容