Search and Action Modules
Several of the action tabs are of a similar appearance and fundamentally work the same way. These are
- Like
- Follow
- Repost
- Commenting
- Playlist creation
- Account plays
These modules work by you specifying a search that will be used to find some items (either profiles or tracks) that will be actioned upon (followed / liked / reposted etc.)
The search action tabs will all contain the options:
- Search Input box
- Custom Search Builder option
- Random Pause
- Repeat Hours
- Number of Repeats
- Unique / action once
- Share Across Accounts
- Max Actions
- Scheduler (along with daily runner option)
- Filter
- Advanced
Search Input Box
In the above screenshot (from the Like action tab) there are two default searches you can perform.
- Track Tag Search
- Track Search
The third text input is for Custom Search, which will be covered in more detail in the Custom Search chapter.
When performing a search, you will need to provide an input term, if you wanted to perform a track tag search, you would need to provide a tag (genre).
The Track search has 4 inputs. From left to right Track Search: This is a title search and will match the titles of tracks. It can be left blank Genre: If a genre is entered here, it will match any of the tags / genres assigned to tracks. It can be left blank Date Added: How long ago was the track added: last_hour, last_day, last_week, last_month, last_year, any_time Track length: <2mins, 2-10minutes, 10-30mins, >30mins
The default searches allowed will vary depending on the action tab you are on (for example actions that action on users (follow / direct message) will be searches that return users and actions that action on tracks will return tracks). But all searches should be self explanatory
TIP --------- If you want to bulk add actions, you can do so via a file. Create a text file, with each input term on a single line, then in the search input box, enter the path to the file. .. image:: ../images/multisearchfromfile.png :width: 800px :height: 279px Lets say my file, c:\path\to\my\file.txt contains the lines techno house hiphop edm When I create this action, 4 actions are created, one for each line. This format will work for all search types. For the track search where there are four inputs, simply create your lines in your file as a CSV (don't forget to include the empty inputs, eg title,genre,date,length i.e. ,techno,last_day, ,acid,last_day, ,deephouse,last_day, ,edm,last_day, The above would create 4 actions, searching for tracks uploaded in the last day with the specific genre (but not including a title search nor length filter)
Custom Search
The custom search builder module allows you to build a search where the results of the previous stage will feed back into the search for the next stage. Lets have an example.
In the above example, we are performing the following search
- Scrape followers of
- Scrape latest track of each follower
- Scrape all interactions of the latest track of each follower
NOTE: Do be aware that if you are building very complex searches, then this can require lots of requests to the site, which may cause a limiting of the requests you can perform. This likelihood can be increased if you are also performing a filter. There are some ways to try and avoid this, namely setting a random pause after each page of search results are pulled. Also, by providing the specific number of results for each step can help.
Results per Step
From the above search, we are scraping my followers, getting their recent track then scraping the interactions of the track (commenters / likers / reposters). There are a few potential search flows that could be taken depending on the number of total results you may want. If you want 100 accounts returned, if could be you want to scrape 10 followers, then get the recent track from each: 10 tracks then get 10 interactions from each track. Or perhaps you wanted to scrape 100 followers, then the recent track from each: 100 tracks then get 1 interaction from each track. Unfortunately, the program cannot read your mind so it will make a guess at what it was you wanted, unless you tell it.
Double click the specified search step and you can specify how many items you want returned for each. So if you want more results to come from the interactions you can tell it to do so, or if you want to scrape less interactions but from more tracks you can as well.
NOTE: Keep in mind some tracks may not have any interactions, so if you are very specific the program may be unable to fulfill your search, so always leave some leeway for the program to hit your number targets
Export Defined Custom Searches
As always, we try to make things as easy for you as possible, if you have built a custom search and you want to export it for later use, click the EXPORT CUSTOM SEARCH link and it will be saved. When you next open the custom search builder form, you will be able to view your previously saved searches from the dropdown control highlighted above
Standard Search Action Parameters
Random Pause:
Specify a minimum and maximum value, after actioning an item the action will pause for a random amount between the specified minimum and maximum values.
Max Actions / Max items:
The number of items to process within the action.
Repeat Hours
Once the action has completed, wait the specified hours then repeat. Set it to 24 to repeat every day, set it to 12 to repeat twice a day etc. The checkbox "after" means the time is added on after the action completes. Unchecking the option means it is added on to when the action starts. So if the action starts at 0900 and completes at 0930. If your repeat hours value is 1, then with after checked the action starts again at 1030 (1 hour after it completed, with after NOT checked, the action repeats at 1000, an hour after it started
Repeat # times:
The action will only repeat the specified number of times. For example, repeat every 24 hours (once a day), Repeat #Times = 7, thus repeat every day for a week then stop and do not repeat any more.
Schedule / Daily Runner
Using the schedule control you can specify when your action should run. The other scheduling option is Daily Runner. This will make sure the action runs at the same time every day. eg. Daily Runner 2pm. At 2pm (14:00) the action will start, then on completion schedule itself for 2pm / 1400 the next day
Unique Items Per Account / Action once
This option will ensure you do not reprocess the same items. So if you are performing a follow action, once you have followed an account you will never follow that account again, even if you have unfollowed them since. This also works for items processed by other accounts within a Share across accounts action and any items logged in a global processed log (for information on global processed logs, please see the revelevant section)
Advanced
The advanced button, if present will allow you to specify some fluctuate value. Fluctuate max items and fluctuate repeat every hours by minutes.
Fluctuate Items +-:
If you are repeating your action, you may not want to action on the the same number of items each action (avoiding footprints, so you can fluctuate the number of items to perform. If you specify 100 Max Actions and a Fluctuate value of 10. Then your action will random perform 90-110 items (100 +/- 10)
Fluctuate Repeat Hours by minutes+-:
If you are repeating your action every 24 hours, you may want to randomise this. If you specify a Fluctuate value of 90. Then your action will randomly repeat between 22.5 and 25.5 hours
Filter
When searching for items to process, we can apply a filter to ignore items that fail to match certain criteria or only include items that match other criteria. We can apply a filter to both accounts and tracks.
Account Filter
The options we can specify are:
- Username include / exclude words
- Followers min / max
- Followings min / max
- Favourites min / max
- Comments made min / max
- Number of tracks uploaded min / max
- Is a Pro account
- Has avatar
- Track uploaded in last Days
- User Active
- Country / city
- Has a track with X genres
All the above should be self explanatory except Active in last X days. Using this option, SCM will try and work out the most recent activity the account has performed, uploaded a track, liked a track, reposted a track etc. It is not a perfect method, as the user may have been on Soundcloud, just not done anything, in those cases they will be not be detected as active
NOTE: To be careful with complex filters, these will require more calls made to the site and if you are filtering out lots of users you could hit some limit on the requests allowed to be made. If you are trying to highly target your filters, make sure to set search pauses (settings tab)
Track Filter
The options we can specify are:
- Number of plays min / max
- Number of favourites min / max
- Number of comments min / max
- Number of reposts min / max
- Number of days ago uploaded (age in days) min / max
- Track length in minutes min / max
- Artist of track been active in recent X days
- Artist is pro account
- Track genres
- Track name / description include / exclude terms
All the above should be self explanatory except Active in last X days. Using this option, SCM will try and work out the most recent activity the account has performed, uploaded a track, liked a track, reposted a track etc. It is not a perfect method, as the user may have been on Soundcloud, just not done anything, in those cases they will be not be detected as active
NOTE: To be careful with complex filters, these will require more calls made to the site and if you are filtering out lots of users you could hit some limit on the requests allowed to be made. If you are trying to highly target your filters, make sure to set search pauses (settings tab)