If the website has an API, just use it directly. If not...
Load up the website in question, open your browser's debug tools' network tab, and perform each action that you'd like to be able to programatically do. Record the destination host/path, request type, and all the params that can be sent to it. Then, implement a function in your language of choice for each action that you want to be able to do (some actions require multiple requests).
Package up the functions into a class/library/whatever and extract out common functionality. Then post it on HN for lots of karma and feedback.
For a simple starter task, create an account on http://www.nationstates.net and write a bot which logs in each day and randomly picks a choice for each decision you are asked to make for your country.
Even easier way to log requests is to use something to man-in-the-middle your own connection, like MITMProxy (which, coincidentally, is written in Python).
I've used it a lot to unearth APIs and make programs that utilize them.
Load up the website in question, open your browser's debug tools' network tab, and perform each action that you'd like to be able to programatically do. Record the destination host/path, request type, and all the params that can be sent to it. Then, implement a function in your language of choice for each action that you want to be able to do (some actions require multiple requests).
Package up the functions into a class/library/whatever and extract out common functionality. Then post it on HN for lots of karma and feedback.
For a simple starter task, create an account on http://www.nationstates.net and write a bot which logs in each day and randomly picks a choice for each decision you are asked to make for your country.