Email Grabber is not grabbing

Hello everyone,

I’m a user of Scrapebox since 6 or 7 years now and by digging a bit manually into every URLs I feed the e-mail grabber, I just discovered that it doesn’t seem to work so well.
For example : I put only this website in the URLs list (see attached image for confidentiality purposes). I then run the e-mail grabber and put a relatively high depth level : (6).
The e-mail grabbing process takes a few seconds and returns nothing. By browsing the website manually I see that there are at least 2 e-mails adresses clearly written. So I doubt if my doing everything correctly or if I missed something.
All the best, thanks


.jpg   problem.JPG (Size: 9.07 KB / Downloads: 0)

Grabbing & releasing with dragons

I’m planning a combat situation with a dragon and trying to understand the dragon’s alternative attack options. One of the strategies would be to grab and attempt to drop players from height.

So far this is how I’m thinking about ruling it:

  1. The dragon would have to initiate a successful grapple action and then move with their movement adjusted down depending on size difference.

  2. After rising they could then choose to drop the player as their free action for that round.

  3. To prevent being dropped I’m assuming that the player will attempt to hold on and hence it could be ruled as a DEX-save.

Assuming the player holds on, what options are there for the dragon to "shake" the player off?

  1. They could attempt to regrapple.

  2. They could use their base attack at the player. Would that include a chance of the player falling down if hurt?

  3. Could they initiate a specific action to drop the player? I’m guessing they could choose for this to be either a STR or DEX contest?

Would appreciate any guidance on how to rule the idea of dragon trying to drop a player from height.

Does antivirus software detect scrceen grabbing functionality in a running program?

Let’s say a malicious actor publishes a piece of software that calls a screenshot function (e.g. Graphics.CopyFromScreen() or the UIAutomation Framework in .NET) every so often, but doesn’t notify the user of that. I download and install that software.

Assuming that the software is signed with a valid publisher certificate, I have a few questions around that:

  • Would that screengrabbing behaviour be detected by an(y) Antivirus solution?
  • If yes, do legitimate screengrabbing programs need exceptions in an antivirus program to allow that behaviour?
  • If no, will at least the exfiltration of the data be detected by the AntiVirus software? (I guess the exfiltration can happen in so many different ways that it’s a bit of an arms race to see that bytes are being sent that encapsulate/encode the screengrab and not some form of telemetry, for example)

I’ve been googling for a while but can’t seem to find anything on the topic.

What is the correct way of grabbing a RANDOM record from a PostgreSQL table, which isn’t painfully slow or not-random?

I always used to do:

SELECT column FROM table ORDER BY random() LIMIT 1; 

For large tables, this was unbearably, impossibly slow, to the point of being useless in practice. That’s why I started hunting for more efficient methods. People recommended:


While fast, it also provides worthless randomness. It appears to always pick the same damn records, so this is also worthless.

I’ve also tried:


It gives even worse randomness. It picks the same few records every time. This is completely worthless. I need actual randomness.

Why is it apparently so difficult to just pick a random record? Why does it have to grab EVERY record and then sort them (in the first case)? And why do the “TABLESAMPLE” versions just grab the same stupid records all the time? Why aren’t they random whatsoever? Who would ever want to use this “BERNOULLI” stuff when it just picks the same few records over and over? I can’t believe I’m still, after all these years, asking about grabbing a random record… it’s one of the most basic possible queries.

What is the actual command to use for grabbing a random record from a table in PG which isn’t so slow that it takes several full seconds for a decent-sized table?

Close Combate skill for grabbing

About Close Combat skill?

Close Combat: Unarmed is an option, meaning skill with unarmed strikes like punches and kicks. However, this bonus does not apply to other forms of unarmed combat maneuvers, including, but not limited to, grabbing or tripping.

So, what skill do we need to grab-like moves? Close Combat: Grab? Something like that?

Grabbing only non-empty cells from a row range for every row

I have a survey that sends responses into a Google Sheet. The raw data that is inserted is messy, so I have another sheet that processes the incoming raw data.

One of the things I need to do is: from a range of columns in one row, pull the non-empty cells–and do this automatically with every new response that comes in.

This is what I’ve come up with that works with a single row, but I can’t figure out how to have it automatically apply to the entire column:

=transpose(QUERY(unique(transpose({'Raw Data'!AL3:AY3,'Raw Data'!AL3:AY3})),"SELECT Col1 WHERE Col1 <> '' ORDER BY Col1 ASC LIMIT 8",0))

Because the survey will insert rows, it ends up adjusting any cell references in my ‘Processed Data’ sheet, so I’ve been trying to use ARRAYFORMULA unsuccessfully.

Also, the range of columns will be more than 400 (options of schools), so manually writing out individual column names would probably be unfeasible.

Here’s a link to the spreadsheet

The column of issue starts on column O

Background: In the survey, a respondent can select multiple schools to a maximum of 8 out of a selection of 400+ schools. In the ‘Raw Data’ sheet, each school option is represented by a column.

Hopefully all of that made sense. Any help would be greatly greatly appreciated–I’ve been stuck on this for a while!

grabbing data from an email and updating an excel file

I am looking for any advice regarding the following problem.

I have thousands of emails that read like so:

Joe Bloggs has registered interest using email 

I need to pull out the first name, last name, and email, then match against a spreadsheet. Nothing is unique, the email may exist or there’s a dummy placeholder.

The spreadsheet is a simple table of five columns: Id, FirstName, LastName, Email and Subscribed.

The major issue is that the emails contain no unique identifier and no sane data. The first name could quite easily be “Here’s are a few names” and the last name could be “Some more names”. You can quickly see there’s no way to pull that out and know which part is the first name and which part is the second name.

How would you handle this? Please ignore specifics outside of the LINQ. Some of the code will seem off / broken as I’ve cut it down for brevity.

private class NewSubscription {     public string FullName { get; set; }     public string Email { get; set; } }  private class SubscriptionMatch {     public string FullName { get; set; }     public string Email { get; set; }     public string SubscribedCellAddress { get; set; }     public string EmailCellAddress { get; set; } }  private class Holder {      public string FullName { get; set; }      public string Email { get; set; } }  static void Main(string[] args)  {     List <NewSubscription> newSubscriptions = new List<NewSubscription>();     foreach (Message message in messages)     {           var messageParts = message.Body.Trim().Split().ToList();           var email = messageParts[messageParts.IndexOf("email") + 2].Trim(',');           var fullNameEndPosition = messageParts.IndexOf("email") - 2;           messageParts.RemoveRange(fullNameEndPosition, messageParts.Count - fullNameEndPosition);           var fullName = string.Join(" ", messageParts);           newSubscriptions.Add(new NewSubscription(fullName, email));      }                       List<SubscriptionMatch> subscriptionMatches = new List<SubscriptionMatch>();     var nonMatches = new List<Holder>();      subscriptionMatches.Add((from cell in worksheet.Cells[celRange]                              where (cell.Value.ToString().Trim() + " " + cell.Offset(0, 2).Value.ToString().Trim()) == newSubscription.FullName // getting first name + last name                              select new SubscriptionMatch(                                  newSubscription.FullName,                                  newSubscription.Email,                                  cell.Offset(0, 13).Address, // cell address of email                                  cell.Offset(0, 3).Address, // cell address of subscribed status                              )).FirstOrDefault());       if (subscriptionMatches[(subscriptionMatches.Count - 1)] == null)     {         nonMatches.Add(new Holder(newSubscription.FullName,                          newSubscription.Email));         subscriptionMatches.RemoveAt(subscriptionMatches.Count - 1);     }      var clashes = subscriptionMatches.GroupBy(x => new { x.FullName, x.Email })                         .Where(g => g.Count() > 1)                         .Select(y => new { y.Key.FullName, y.Key.Email                          }).ToList();     if (clashes.Count > 0)    {        Console.WriteLine("customers with the same full name exist...:");        foreach (var customer in clashes)        {            Console.WriteLine("{0} {1}", customer.FirstName, customer.LastName);         } //update spreadsheet here  } 

Is there a saner way of going about this given my starting data? The clashes collection never has more than one record either, despite multiple clashes.

Despite that it works, I just think it can probably be a lot cleaner.

Any advice welcome.

How to deal with an attention grabbing player, and a group who can’t speak up?

So I’m running a campaign of D&D 5e with a few friends of mine. All of us being first timers in the genre. We meet online, since some of us live to spread out to meet regularly.

We are about to hit our first year anniversary for the campaign in 1 or 2 months.

But since the beginning we had trouble with one of the players. To give a quick rundown of the situation he eats up almost all of my attention as a dm. Mainly by simply talking every one else down. Whenever I speak for an NPC or ask the group what they want to do or whatever as long as it is directed at the whole group, he jumps in and talks … and talks … and talks and whenever someone else says something even just a small “hey we could do that…” its right to the “I WASN’T FINISHED”

At the start I thought I could deal with it, I simply stepped in and said as the gm “he person A over here has something to say too” it seemed to work at first but slowly he started to get more and more upset about those incidences, not that I did care a lot since I thought “hell calm down, whatever, I’m playing with more than 1 person here”

But this backfired as I realized recently as due to him getting upset and literally depressive for being shut down (after 5-10 min of him speaking non-stop mind you) the other players seem to take pity on him and now don’t even try to add anything when he’s talking. This leads to everyone shutting up for 90% of the game i.e. his “screentime”… one player already quit over this and i keep getting complaints from the others since the campaign gets boring for them … even though no-one would speak up against him during the session.

So right now I’m out of idea what to do.

I don’t want to kick him, since me kicking him would as I fear lead to even more pity for him (he’s damn good at crying) but I feel like everyone is to polite to help me deal with this in any confronting way.

I even specifically call out other players for what they think/wanna do when he’s at a good point to make a cut to his talking just to have them say (in an annoyed tone) “just let him finish first (eyerolls so hard you can hear it over the Skype call)” (annoyed at him not me as far as I can read into it) Im actually not sure if he ignores those cues or if he’s not noticing them.

… so I’m glad about any tips you can give me on this. Is my group just too nice/spineless ? Am I just bad at GMing? What can I do to involve everyone again?

Trox’s Grabbing appendages

Can a Trox, which is a large monstrous humanoid, use his grabbing appendages to grab another large creature, all the while beign able to swing his weapon; or if using his grabbing appendages, against a large creature, since they are defined as smaller than his main arms , does he take a size penalty like if he was a medium creature?

Grabbing appendages (6 RP) Trox have a small group of appendages that are useful for little more than to aid in grappling. They gain Improved Grapple as a bonus feat, and can maintain a grapple and still make attacks with their main appendages. Trox Page


  1. How are the Trox Grabbing appendages defined, medium or large?

  2. Are the Trox Grabbing appendages usable to grab 10ft away, as are his main arms?

  3. Does the line “small group of appendages that are useful for little more than to aid in grappling” mean that, because they are weaker or because of their reduced reach potential?

P.S. The way that I personally see it is that since the Grabbing appendages, in this rule, are the apparent reason why this creature has Improved Grapple, this should mean that they are usable to grab as if you where using your main arms.