I wrote a function that scrapes data from a website for multiple zip codes. The code works for most zip codes, but there are some where I’m getting an Unknown String Error.
Here is the code I’m using
import time
from datetime import date, timedelta
from bs4 import BeautifulSoup
import urllib2
from dateutil.parser import parse
import pandas as pd
import random
import os
url = 'https://www.sittercity.com/jobs/search?distance=50&&page=1&per_page=100000&search_strategy=babbysitting_job&&selected_facets%5Bnew_jobs%5D=true&sort=relevance&zipcode=94513'
soup = BeautifulSoup(urllib2.urlopen(url))
posts = [t.text for t in soup.find_all(class_ = "item posted-by")]
dates = [parse(item, fuzzy = True) for item in posts]
The error is coming from the 34th item in the posts list. However the datatype of each element in the list is the same, so I’m confused. Also the 33rd item in the list seems to work. For example:
This works:
dates_single = parse(posts[32], fuzzy = True)
But this doesn’t (?)
dates_single = parse(posts[33], fuzzy = True)
Here are the values of posts[32] and posts[33]
>>> posts[33]
u'Posted by April A. on 3/28/2016'
>>> posts[32]
u'Posted by Chandrika M. on 3/30/2016'
I read through the datetil.parser documentation and none of the «Unknown String Error» use cases seem to fit.
Description
What steps will reproduce the problem?
i am trying to run my program when this unknow error occured
in file:- lib\xml\etree\ElementTree.py line 598 in parse
self._root = parser._parse_whole(source)
file:- «», line unknown
ParseError: not well-formed (invalid token): line 44, column 88
cant solve
Traceback
File "D:\ana\a3\lib\site-packages\spyder\plugins\ipythonconsole.py", line 1686, in go_to_error self.edit_goto.emit(osp.abspath(fname), int(lnb), '') ValueError: invalid literal for int() with base 10: ''
Versions
- Spyder version: 3.3.4
- Python version: 3.7.3
- Qt version: 5.9.6
- PyQt5 version: 5.9.2
- Operating System: Windows 10
Dependencies
pyflakes >=0.6.0 : 2.0.0 (OK)
pycodestyle >=2.3 : 2.4.0 (OK)
pygments >=2.0 : 2.3.1 (OK)
sphinx >=0.6.6 : 1.8.2 (OK)
rope >=0.9.4 : 0.11.0 (OK)
jedi >=0.9.0 : 0.13.2 (OK)
nbconvert >=4.0 : 5.4.0 (OK)
pandas >=0.13.1 : 0.24.2 (OK)
numpy >=1.7 : 1.16.4 (OK)
sympy >=0.7.3 : 1.3 (OK)
cython >=0.21 : 0.29.2 (OK)
qtconsole >=4.2.0 : 4.3.1 (OK)
IPython >=4.0 : 7.5.0 (OK)
matplotlib >=2.0.0: 3.1.0 (OK)
pylint >=0.25 : 2.2.2 (OK)
Перейти к контенту
I wrote a function that scrapes data from a website for multiple zip codes. The code works for most zip codes, but there are some where I’m getting an Unknown String Error.
Here is the code I’m using
import time
from datetime import date, timedelta
from bs4 import BeautifulSoup
import urllib2
from dateutil.parser import parse
import pandas as pd
import random
import os
url = 'https://www.sittercity.com/jobs/search?distance=50&&page=1&per_page=100000&search_strategy=babbysitting_job&&selected_facets%5Bnew_jobs%5D=true&sort=relevance&zipcode=94513'
soup = BeautifulSoup(urllib2.urlopen(url))
posts = [t.text for t in soup.find_all(class_ = "item posted-by")]
dates = [parse(item, fuzzy = True) for item in posts]
The error is coming from the 34th item in the posts list. However the datatype of each element in the list is the same, so I’m confused. Also the 33rd item in the list seems to work. For example:
This works:
dates_single = parse(posts[32], fuzzy = True)
But this doesn’t (?)
dates_single = parse(posts[33], fuzzy = True)
Here are the values of posts[32] and posts[33]
>>> posts[33]
u'Posted by April A. on 3/28/2016'
>>> posts[32]
u'Posted by Chandrika M. on 3/30/2016'
I read through the datetil.parser documentation and none of the «Unknown String Error» use cases seem to fit.
import React from 'react';
/**
* Translate static strings coming from the backend
*
* @param str: string with placeholders in the format "value is {{val: 5}}"
* @param t: react-i18next t instance
* @returns: translated string
*/
export default function staticTranslate(str, t) {
if (str === undefined) {
return str;
}
let substitutions = {};
function replacer(match, p1, p2, offset, string) {
substitutions[p1] = p2;
return '{{' + p1 + '}}';
}
str = str.replace(/{{s?(w+):s?([^}]+)}}/g, replacer);
return t(str, substitutions);
}
Your error occurs due to conflict between April
(detected as month name) and 3
detected as month number.
Minimal example:
from dateutil.parser import parse
parse(u'Posted by Chandrika M. on 3/30/2016', fuzzy=True) # datetime.datetime(2016, 3, 30, 0, 0)
parse(u'Posted by April A. on 3/28/2016', fuzzy=True) # ValueError: Unknown string format
parse(u'Posted by XYZ A. on 3/28/2016') # datetime.datetime(2016, 3, 28, 0, 0)
Since your format is well-defined you may simply perform straightforward conversion, without any heuristics.
s = u'Posted by April A. on 3/28/2016'
datetime.datetime.strptime(s.split()[-1], "%m/%d/%Y") # datetime.datetime(2016, 3, 28, 0, 0)
0
0
Моя любимая игрушка, а в Wine не запускается (
Я установил Wine последний, скопировал папку с виндой в папку ~/.wine/dosdevices/c:/Program Files , при запуске из консоли выдает такие ошибки:
[root@localhost Cossacks — Back To War]# wine dmcr
__driCreateNewScreen_20050727 — succeeded
__driCreateNewScreen_20050727 — succeeded
err:wgl:X11DRV_wglGetProcAddress (wglMakeContextCurrentARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglGetCurrentReadDCARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglCreatePbufferARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglGetPbufferDCARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglReleasePbufferDCARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglDestroyPbufferARB) — not found
err:wgl:X11DRV_wglGetProcAddress (wglQueryPbufferARB) — not found
fixme:win:EnumDisplayDevicesW ((null),0,0x34f9b8,0x00000000), stub!
fixme:d3d:IWineD3DDeviceImpl_GetAvailableTextureMem (0x11f6e0) : stub, simulating 64MB for now, returning 64MB left
fixme:ddraw:IDirectDrawImpl_SetCooperativeLevel (0x11ec50)->((nil),00000008)
, появляется черное окно, слышен фоновый звук при загрузке меню игры, но графики нету((
При запуске щелчком мыши, выдает кучу ошибок типа «Unknown string: DELSYNC (see COMMENT.TXT)»
Что делать?
Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.
To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.
This guide will help you check for common problems that cause the log ” Unknown string property: ” + fieldName + ” ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: rest and plugin.
Overview
A plugin is used to enhance the core functionalities of Elasticsearch. Elasticsearch provides some core plugins as a part of their release installation. In addition to those core plugins, it is possible to write your own custom plugins as well. There are several community plugins available on GitHub for various use cases.
Examples
Get all of the instructions for the plugin:
sudo bin/elasticsearch-plugin -h
Installing the S3 plugin for storing Elasticsearch snapshots on S3:
sudo bin/elasticsearch-plugin install repository-s3
Removing a plugin:
sudo bin/elasticsearch-plugin remove repository-s3
Installing a plugin using the file’s path:
sudo bin/elasticsearch-plugin install file:///path/to/plugin.zip
Notes and good things to know
- Plugins are installed and removed using the elasticsearch-plugin script, which ships as a part of the Elasticsearch installation and can be found inside the bin/ directory of the Elasticsearch installation path.
- A plugin has to be installed on every node of the cluster and each of the nodes has to be restarted to make the plugin visible.
- You can also download the plugin manually and then install it using the elasticsearch-plugin install command, providing the file name/path of the plugin’s source file.
- When a plugin is removed, you will need to restart every Elasticsearch node in order to complete the removal process.
Common issues
- Managing permission issues during and after plugin installation is the most common problem. If Elasticsearch was installed using the DEB or RPM packages then the plugin has to be installed using the root user. Otherwise you can install the plugin as the user that owns all of the Elasticsearch files.
- In the case of DEB or RPM package installation, it is important to check the permissions of the plugins directory after you install it. You can update the permission if it has been modified using the following command:
chown -R elasticsearch:elasticsearch path_to_plugin_directory
- If your Elasticsearch nodes are running in a private subnet without internet access, you cannot install a plugin directly. In this case, you can simply download the plugins and copy the files inside the plugins directory of the Elasticsearch installation path on every node. The node has to be restarted in this case as well.
Log Context
Log “Unknown string property: [” + fieldName + “]”classname is RestGraphAction.java We extracted the following from Elasticsearch source code for those seeking an in-depth context :
} if (token == XContentParser.Token.VALUE_STRING) { if (FIELD_NAME_FIELD.match(fieldName; parser.getDeprecationHandler())) { field = parser.text(); } else { throw new ElasticsearchParseException("Unknown string property: [" + fieldName + "]"); } } if (token == XContentParser.Token.VALUE_NUMBER) { if (SIZE_FIELD.match(fieldName; parser.getDeprecationHandler())) { size = parser.intValue();
See how you can use AutoOps to resolve issues
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Search instead for
Did you mean:
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
-
All Forum Topics -
Previous Topic -
Next Topic
I am using a GPIB-USB-B cable to communicate with a Kiethley 2430. The Labview version I have is the NXG and I downloaded the relevant 24xx drivers from the ni website. The NI MAX is able to detect the instrument and read and write to/from it.
The problem happens when I run one of the vis (ReadMultiple for example). The vi initiates and turns the instrument on but gets stuck in the «Fetch (Measurements).gvi» and shows an execution error (attch image) with the following explanation: «LabVIEW: (Hex 0x68B) The input string contains one or more invalid UTF-8 string sequences».
Does anyone have any idea what might be going on? Could the error be because I am using the older version of the GPIB cable (GPIB-USB-B) versus the HS or HS+ versions? Has anyone else used the B cable with Keithley and run it successfully with Labview?
Solution
Accepted by topic author cg1234
Hi
The error is probably happening because NXG is using an other type of string then LabVIEW.
NXG uses Unicode where it is possible that a string contains more bytes for one character.
The error you mention is impossible in LabVIEW. In LabVIEW byte arrays and strings are easily converted in each other. because characters always take one byte and all bytes are defined.
It definitely is not the cabling.
I suggest to work this year in LabVIEW (even in 32 bits LabVIEW) and maybe switch when NXG is a bit more stable.
I do like NXG for students but not yet for production.
greetings from the Netherlands
Author
Thank you! That was genius- Labview 2018 worked!!
Hi, I have the exact same problem here. I did some research into it and I can say it is the problem of the Fetch (Measurement).gvi in the drive package. The VISA Read function has some problem there and is causing this issue. If you change the output of VISA Read from String to Byte Array and use Byte Array to String function to convert it, the problem will be gone. However, After doing this, I found that the data that was read in from the buffer was not correct any more. I tried using the sweep function and set the range between 1 and 2 V and the voltage data which was read in had several abnormal numbers, such as -85.32, -353.529
Hi, you are right about it.
However, I found something more interesting about this issue. I installed both NXG 3.0 and 2.0 on an desktop. I opend the 24XX drive package for NXG 2.0 using NXG 2.0. Everything was working well. Then I saved it as a project in NXG 2.0 and opened it in NXG 3.0 with no problem. When I run it, the problem happened. I did some research on it and my conclusion was that the VISA Read function had some problems. When choosing String as output, error happened. When choosing Byte Array as output and convert it to string by Byte Array to String function, no error but the data read in was not correct.
As you can see in the solution, it is not VISA but the NXG string functions hat generate the problem.
Not that the string functions are wrong but they use UNICODE strings meaning that a character can contain more bytes. So you have to read now a byte array instead of a string with VISA.
There is an article about Unicode strings
https://forums.ni.com/t5/NI-Blog/Designing-LabVIEW-NXG-How-Unicode-Benefits-You/ba-p/3886228
read this and find out
greetings from the Netherlands
Thanks for correcting me. I did try reading bytes from VISA Read and convert to string using the Byte Array to String function in NXG 3.0 and it worked with no error. However, the final data I got from doing this is not correct. For example, when I set the source meter to output a 1V voltage. When reading the buffer, the voltage is about 1.78V. Do you have any idea what might cause this problem?
If you read the article I linked to, you can understand the problem.
greetings from the Netherlands
-
All Forum Topics -
Previous Topic -
Next Topic
sponsored advertisements |
Authenticator Code |
Thread Tools |
unknown string in IDA |
|
#1 |
|||||||||||
gzliuqingyun n00bie Join Date: Dec 2017
Reputation: 0 Points: 2,949, Level: 5 Level up: 19%, 651 Points needed Activity: 0% Last Achievements |
unknown string in IDA Hi, everyone I exported my little UE4 game to Android platform, unpack apk and used IDA to open the libUE4.so, when I searched string «Camera0» in String-window I cannot find it. At last I found the string was recognize as unknown in .rodata segment, it looks like not a C-style string, it uses 4 bytes to present 1 char. The relative code below Code: // Create camera component Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera0")); Camera->SetupAttachment(SpringArm, USpringArmComponent::SocketName); Camera->bUsePawnControlRotation = false; Camera->FieldOfView = 90.f; I tried to change the string style(like C-string, unicode …etc) but doesn’t work, so how can I make the IDA recognize the 4-bytes-1-char string «Camera0»? |
|||||||||||
gzliuqingyun is offline |
|
|
#2 |
|||||||||||
Sirmabus h4x0!2 Join Date: Jun 2010
Reputation: 5362 Points: 19,392, Level: 19 Level up: 7%, 1,408 Points needed Activity: 0% Last Achievements |
It’s probably a UTF-32 string that Linux (Android is a Linux derivative) some times uses. They say they will add more multi-byte support to IDA in the future but for now you’ll probably need to make some kind of plugin to scan for and display these strings. |
|||||||||||
Sirmabus is offline |
|
|
#3 |
|||||||||||
gzliuqingyun n00bie
Join Date: Dec 2017
Reputation: 0 Points: 2,949, Level: 5 Level up: 19%, 651 Points needed Activity: 0% Last Achievements |
Quote:
Originally Posted by Sirmabus It’s probably a UTF-32 string that Linux (Android is a Linux derivative) some times uses. They say they will add more multi-byte support to IDA in the future but for now you’ll probably need to make some kind of plugin to scan for and display these strings. Yes, I found that idapython can help me do that. The python script below Code: def mkwc(ea): #ea = ScreenEA() if list(XrefsTo(ea)): n = 0 b = [] while True: c = idc.Dword(ea + n * 4) if c < 0 or c >= 128: return if c == 0: break b.append(chr(c)) n += 1 MakeStr(ea, ea + n * 4 + 4) MakeComm(ea, '\n' * 3 + ''.join(b) + '\n') return ea + n * 4 + 4 return def hello(): for sea in Segments(): if SegName(sea) != '.rodata': continue for iea in range(SegStart(sea), SegEnd(sea), 4): name = idaapi.get_name(BADADDR, iea) if name and name.startswith('unk_'): mkwc(iea) May this can help anyone faced the problem like me. |
|||||||||||
gzliuqingyun is offline |
|
|
#4 |
|||||||||||
namazso free(malloc(sizeof(int))) Join Date: Oct 2014
Reputation: 85111 Recognitions (1) (3)
(1) Points: 115,892, Level: 49 Level up: 4%, 5,008 Points needed Activity: 0% Last Achievements |
Strings window > Right click > Setup __________________ All original code posted by me is licensed under WTFPL unless stated otherwise. |
|||||||||||
namazso is offline |
|
Similar Threads |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Coding] std::string* to System:String^ | 0xhresult | C and C++ | 10 | 10th August 2014 08:54 AM |
[Help] IDA unknown call $+5 | poink | General Programming and Reversing | 4 | 3rd November 2011 01:50 PM |
[Information] uNkNowN HacK v3.3 and uNkNowN HacK 3.1.1 both injected | skyskrutch | Battlefield Heroes | 66 | 18th February 2010 11:47 PM |
How to decrypt pbcl.dll string using ida x86emu | nah1337 | Anti-Cheat Bypass | 6 | 16th December 2008 08:40 PM |
Tags |
string, ida, camera, unknown, camera0, recognize, component, code, create, relative |
«
Previous Thread
|
Next Thread
»
Forum Jump |
All times are GMT. The time now is 06:51 PM.
Contact Us —
Toggle Dark Theme
Terms of Use Information Privacy Policy Information
Copyright ©2000-2023, Unknowncheats� UKCS #312436
sponsored advertisement |
no new posts