-
Content Count
790 -
Joined
-
Last visited
-
Days Won
34
Posts posted by VaultBoss
-
-
.....
add item to list(%UIGMails, $list from text(#UIGmail, $new line), "Delete", "Global")
.....
Get rid of that line of code
-
You can't do what you want, @uniquebot. The KWs are not public knowledge, they're not indexed by Google.
-
Nope!
Lists can be set to "Local", but tables have no Advanced options setting like that; they are sort of 'Global' by default.
-
Use a replace applied to the text/list item/table cell where you store each scraped email, using this regex: .*@
and replace with $nothing. You'll be left with only what you need/want.
- 1
-
-
They have different meaning though... $either is the OR while $both is the AND operator in IBS.
If you want to find/scrape only when ALL the keywords (2 or more) are present, not when only SOME of them are, then the way to go is $both (works for 2 conditions, but you can cascade them for more)
On the other hand, if you want to scrape ALL instances, whether one keyword, two or more, in any combination, are present, then the way to go is to use $either.
-
Lists are zero-numbered.
That means:
1st list item position is 0
2nd item position being 1
and so forth.
When you are trying to loop a list for its total items, you should deduct 1 from the $list total, because a list with say... 3 items will have them numbered 0,1,2 but the list total function will return 3.
As such, when you get to the list item number 3 you will get an error (there is no such list item index)
-
No, you wouldn't integrate in UBot... it only helps you run your computer faster.
Ultimately, that will help your bots run faster and smoother too, but indirectly.
-
-
I felt that this is worth letting all UBotters know:
Today, GAOTD (GiveAwayOfTheDay) website has one of THE most powerful tools to grab for free by anybody:
I am not trying to promote GAOTD per se, although it is a very valuable resource and website, but I am sure many people here would find this piece of software extremely useful.
I have no affiliation with neither GAOTD, nor the sw dev for this one; just my deep appreciation of their stellar efforts to make our lives easier (and less expensive) by providing such premium, usually paid tools, for free.
Enjoy!
- 1
-
Why don't you scrape all the data (the 3 different sets) into a list and apply various data cleaning after that on the list with regex, for instance, to keep only what you need?
Usually, when the page you scrape is coded poorly, class/id-wise, it is best to just take as much as you can and clean things within UBS.
Hope this helps you...
- 1
-
Here is some code that would help you scrape the relevant data and then clean it up to retrieve only what you need (the age) from it:
load html("<div class=\"about\"><a class=\"link\" href=\"viewprofile.aspx?profile_id=53515440\">Roxie610</a> 40 Actively seeking a relationship. <font color=\"green\"> Online Now</font></div>") set(#Age, $scrape attribute(<innerhtml=w"<a class=\"link\" href=\"viewprofile.aspx?profile_id=*\">*</a>*</font>">, "innerhtml"), "Global") set(#Age, $replace regular expression(#Age, "<[^>]*>", $nothing), "Global") set(#Age, $replace(#Age, " ", " "), "Global") set(#Age, $trim(#Age), "Global") set(#Age, $replace regular expression(#Age, "\\s+", " "), "Global") set(#Age, $find regular expression(#Age, "\\s\\d+\\s"), "Global") set(#Age, $trim(#Age), "Global")
Hope this helps you...
-
I've changed your code a lil' bit:
clear list(%userid) clear list(%headline) clear table(&tempTable2Save) add list to list(%userid, $scrape attribute(<class="link">, "innertext"), "Don\'t Delete", "Global") add list to list(%headline, $scrape attribute(<class="headline">, "innertext"), "Don\'t Delete", "Global") add list to table as column(&tempTable2Save, 0, 0, %userid) add list to table as column(&tempTable2Save, 0, 1, %headline) save to file("C:\\Users\\eric\\Desktop\\Bots\\pof_users.csv", &tempTable2Save)
You were trying to save the lists you created into a single .txt file, but actually, you needed to save them as a table (matrix) as you see above.
I have also changed the "Delete" advanced option on the list creation to "Don't Delete" to keep an intact structure for the table (same list length for both columns) in case some items might have been duplicates (probably not usernames, having to be unique already, but second list might have had dupes, who knows?)
-
This one would also remove the TLD from the file, if you want so:
(?<=(\\))[a-zA-Z0-9\-_]*(?=\.)
This way, your: c:\temp\test\myfile.xxx ----> myfile only...
- 1
-
Also, inside your threads, you could still use $list item and the incrementing variable safely, as long as you declare them "Local" withjin a DEFINE that you call for each thread.
-
+1
I do set the size of my window but that does not stop them enlarging it and when they do if you have a set size ui then it looks a mess.
Okay, I see now what you mean...
Have you tried to build your UI as a fluid design, much like they do with websites for mobile?
As in, instead of specifying widths in pixels, do it in % so that when the window is resized, the UI moves (resizes) accordingly?
- 1
-
You have DEV license - why don't you just set the size you want them to start at in your compiling options?
-
Go to your friend, Google... and type in the search box ALL the string below (don't just click the link):
site:http://www.ubotstudio.com/forum multithreading
This will bring up lots of related threads - where you will find the advice you're seeking, as well as video tutorials, etc...
Best way to start is to watch what/how other people did it already.
- 1
-
As per the instructions here:
http://www.ubotstudio.com/forum/index.php?/topic/13858-scripting-forum-rules-and-guidelines/
...this seems to be the best fit forum for your post.You should delete the other 2 unfitted ones, as you would only piss off the mods with them.
As for multi-threading... it looks like you might need to try your hand with a few simpler things first. Multi-threading poses issues even for very experienced coders, just so you know...
In particular, in your case, you need to make use of the in new browser and thread commands in your UBS (if you have them in the PRO version?)
-
Loop through all the pages and continue to add list to list till you finish scraping.
Only AFTER that, add the list to a table if you wish so.
The way you're doing it, will, indeed, overwrite the list collected from the previous page.
-
By what you describe, you do not have a list there, but a variable containing two links, separated by a new line, which only LOOKS LIKE a list, but the two links are in fact under the same 'umbrella' so to speak.
Naturally, your looping will bring the same link, because it calls the same variable twice.
Also, like I always advocate across this forum, try to get into the habit of losing the $next list item from your daily toolset and replace that with $list item instead, to make sure you call exactly the list item/element you want.
In order to have your list be a real list as you want it, make sure to load it from file using $new line as the list separator in the $list from text(file), which is what I suspect you were using.
Better yet, use $add list to list, which will basically take care of it for you.
Hope this helps...
- 1
-
You need to loop and compare your existing URLs (from the csv) with the scraped URLs from the page.
As long as you do the looping correctly, you won't have issues.
My guess is that your code is faulty on the looping side of things. Most people make the mistake of looping using $next list item, in my experience. Best way is to use $list item instead in conjunction with an indexing, cycling variable. That way you will always refer to an existing list element and you will not get the 'List out of range' error anymore.
BUTYou would still have to address the exceptions, in any case - as in, code some logic of what the script should do if no URL is matched.
Good luck!
-
You can refer to data in a table cell, specifically.
As with lists, it is always better to refer directly the element, rather than indirectly... in other words, do not use $next list item, but $list item instead.
To do so, you will have to loop through the list, using an indexing counter (of elements = rows in the case of lists, or in case of tables, either rows OR columns)
Lists are, basically tables, but with a one dimension (a single row of data)
So to access a table cell, you will need a looping indexing variable for looping the rows OR columns, whichever you prefer, in the first place, then a second variable, to point to the other dimension (rows -> cols, or cols -> rows, respectively) to pinpoint the specific cell.
Hope this helps...
-
Strange enough, on THIS forum, I can see the LIKE button and can hit it, but I can't see the results anymore (the people WHO liked a post already) for more than 2 months now...
Is this the same for all of you guys?
I just liked the post above (illmill's) for a test.Do YOU see the LIKE there?
How do I 'skip' a step or 'redo' a step?
in Scripting
Posted
Always look for a specific element on the success page (the very first page the visitor usually gets redirected to after signup) and if you found it, then it means you're signed in, otherwise, you're not.
Include the verification logic in a loop with say... 3 retries and if after 3 retries you're still not signed in, you can expect something is wrong so you can move on.
Hope this helps...