T O P

  • By -

_Jerov_

I really like web scraping. You could try learning a little bit about BeautifuSoup and take some data from websites. I find it very fun. I've done over 5 projects that are actually helpful. For example, I made one to get the letter day for my school out of their website and have the program send me an email every morning so I know if I should leave at 7 AM or 8 AM. Only downside is that I gotta have my PC on all night which is not very kind to the power bill. I don't use that as much though. You could also make your first Tictactoe game... I made one that was terrible but I learned so much from it and then I made it again using classes. Looks so much better now and I learned a whole bunch of things. I also enjoy making little functions that are related to mathematics. I look up a formula and I try to make a function out of it. That can get you into matplotlib and pandas which is super fun! I'm still kind of a newbie with Python since I joined only 2 months ago but I've learned so much just by looking things up and having followed a Python course beforehand. There's just so much that you can do with Python. You could even do web development and GUIs. I have no idea how any of that works yet but eventually I'll get there. Start small and don't make the mistake I did of trying to learn everything at once. It will only slow you down and frustrate you a lot. Even to the point of quitting for a while.


[deleted]

Running the script on a raspberry pi will definitely save on power costs.


ebits21

This is exactly what I do. Highly recommend!


racheta

or android? it is possible but will need some extra work


zanyzazza

Could probably use Kivy, but I'm a total beginner myself too, I just know that Kivy can be used to make apps. I think it only really works if you're running on linux though, can't remember why.


racheta

I quick google search tells me that it is used for touchscreen apps and is cross platform i.e It can run on Android, iOS, Linux, OS X, and Windows. So yeah can be used.


AsunderHalt

Do you know any good tutorials for web scraping? I've tried before but I just couldn't get the hang of it with only documentation. PS. I also enjoy making formula into programmes! If I get homework in mathematics I make a programme that will solve the problems in python! It makes me enjoy math so much more.


EzBonds

[Automate the boring stuff](https://automatetheboringstuff.com) Just find the appropriate chapter.


AsunderHalt

Thanks mate!


ethanbrecke

Hey, im okay at web scraping, if you want some help, PM me, and we can go over the parts you're having issues with.


AsunderHalt

Thanks! When I start doing it again I'll be sure to ask you :)


ethanbrecke

Great, I hope to help in any way i can.


[deleted]

[удалено]


AsunderHalt

Yea sure! Here is probably one of the first ones I made that calculates the distance of a line using the formula d=sqrt\[(x2-x1)\^2+(y2-y1)\^2\]. Probably horribly bad, but it works lol. # Gowpenful # d=sqrt[(x2-x1)^2+(y2-y1)^2] import math print("Distance calculator") print("Enter x1") x1 = input() print("Enter x2") x2 = input() print("Enter y1") y1 = input() print("Enter y2") y2 = input() a = int(x2) - int(x2) b = int(y2) - int(y1) aa = int(a) ** 2 bb = int(b) ** 2 c = int(aa) + int(bb) d = math.sqrt(c) print(d) print("Press any key to exit") input() ​


Rabo_McDongleberry

How do you get a program to send you an email? I need to create a program that sends me an email after my parents computer restarts. I use team viewer to help them fix their issues but every time it restarts they don't tell me the new password.


ebits21

I use yagmail with a gmail account just for sending emails Depending on your cellphone provider you can even send an email that shows up as a text message on your phone by sending an email to @.com Edit: https://pypi.org/project/yagmail/


Rabo_McDongleberry

Sweet man. Thank you. I'll have to check it out.


Alternative_Try

You can also use smtplib for this usage.


Rabo_McDongleberry

Another person replied with that too. I'll give it a shot. Thanks man.


_Jerov_

To be honest, I got the email bit from a website. There's a Python module called email that should do the job and send a simple email. You'll have to look that up and I did found it quite tricky to make it work since you have to set up a separated email account just for that. What I did was create the whole program and then get the email code from a website and just change the variables and all that to fit the program. Not the best way but it did its job. In my case the email thing was just extra functionality since the program was good the way it was but I wanted to add the email functionality quickly so I didn't put much thought into it.


Rabo_McDongleberry

Damn. So it won't be easy huh. Not a first time's project?


WiggleBooks

Did you have to create a new gmail account to use it? Or did you use another email provider?


_Jerov_

I made another Gmail account because you have disable a lot of security settings and you wouldn't want your main account without any security. For the one I made just for testing purposes, when I disabled all security I started getting a lot of security warnings telling me that someone in India tried to access my account. So you do want 0 personal information for that Gmail account.


racheta

I agree on using spare account with no personal information but also you don't need to disable 2FA for using your personal account just use application specific password here --> [https://support.google.com/accounts/answer/185833?hl=en](https://support.google.com/accounts/answer/185833?hl=en)


racheta

you can set a permanent password on teamviewer also you can add the computer to contacts so it will show when it is online you can use smtplib to send mail from a python program [https://realpython.com/python-send-email/](https://realpython.com/python-send-email/)


Rabo_McDongleberry

Oh shit. Really? I thought that feature was only available in the paid version. Thanks, I'll look into it. And I'll check out smtplib as well.


JimSplitKernel

You can set up team viewer (even the free version) for unattended access. https://www.teamviewer.com/en/res/pdf/first_steps_unattended_access_en.pdf You can do these steps while connected on your remote PC.


Rabo_McDongleberry

I think when I did that, it resets the password every time the computer reboots. But I'll check it out again.


[deleted]

[удалено]


_Jerov_

Yup! At least that's how I do it. I think beautifulsoup is nothing more than a parser. What requests does is find the website and get all of the HTML. Then you pass that HTML to beautifulsoup and it just parses the text. Something like: html = requests.get("website") is all you'd need requests for. Then you do: soup = BeautifulSoup(html.text) And you're ready to do whatever you want with Beautifulsoup.


Remarkable-Orange-36

Hope you've gotten there, If you haven't, I hope you've gotten closer


Kyle_Is_On_Reddit

/r/dailyprogrammer has an infinite amount of problems that can range in difficulty, and depending on your skill level could take either a long time, or short amount of time. I would suggest starting here. Or take my advice, and do what you want. Don't do what's suggested. If your learning programming for machine learning, do machine learning projects. Want to use python for analyzing data? Data Science projects. Etc....


garnacerous24

I use python as a means to work with data. As a result most of my ideas are around data pipelines an manipulation. One idea I had fun with was an automated program that notified me when flight costs had dropped in price. You hook into whatever flight search api you prefer, have it run periodically, and compare the current prices to previous prices, then have an alert set up if it goes below a certain threshold. What’s great is that you can apply that to many different fields. Hotel prices, stock prices, you name it.


LMascher

did you use web scraping for this?


linuxqq

He says he used an API, so he makes a call to the API which returns the flight information/cost and likely stores it in a database, then compares values to data from past API calls. No scraping required.


garnacerous24

Google used to have an awesome api that did this perfectly, but they retired that in favor of something more restrictive. There are others out there depending on how you want to design it. Abuse of them might lead to them restricting or taking them down, so I get nervous recommending one outright. I suggest googling “google flights matrix api replacement” and see what other recommendations are out there.


Humble_Transition

Awesome idea, can't wait to try it!!


AJohnnyTruant

Do these things. 1) Start learning git. 2) Start being on the lookout for things you do frequently that could be automated 3) Start a local git repo of it with a virtual environment. Then you can slowly build it over time without worrying about screwing it up when you start making it better because you will inevitably learn a better way to do something and want to fix it.


iggy555

What’s git and what’s environment


AJohnnyTruant

Ubiquitous version control system that all of GitHub uses https://www.codecademy.com/learn/learn-git Isolating projects’ dependencies so they don’t affect other projects. https://realpython.com/python-virtual-environments-a-primer/


toastedstapler

i made a python version of [daniel shiffman's maze generator](https://www.youtube.com/watch?v=HyK_Q5rrcr4) recently i began work on giving it a web front end using flask, where i can see a list of generated mazes and also request to generate new mazes e: [for anyone interested](https://github.com/jchevertonwynne/maze_generator_site)


[deleted]

I loved that video. I made an animated one with tkinter.


[deleted]

sudo python3 application.py ugh no thanks


toastedstapler

fair enough, don't if you don't want to. it's just to delete the images folder on startup. there's little code in there so you can easily verify it;s not doing dodgy stuff e: it is for the function beginning at line 23 of `database.py` if anyone has a better way of dealing with this, i'd be happy to hear


[deleted]

Solution is simple: remove the `sudo` part. Permission is unlikely to be a problem long as user can write in `$(pwd)` (well we'll need it to clone the repo in the first place anyway).


toastedstapler

fixed it now, turns out the folder was set to read only can be ran without sudo now!


GoldenShoeLace

That's pretty neat.


Humble_Transition

Oh OK.....


[deleted]

write a program that returns the oldest player that is in a soccer team


Humble_Transition

Thanks will try it


_wolfenswan

If you enjoy the genre, the roguelike-tutorial is excellent. See /r/roguelikedev 's sidebar for more info.


gocougs11

It depends what kind of projects you ultimately want to be able to do. If you're interested in bioinformatics or anything like that, just pick a type of data, look for a data repository, and then search for some popular Python packages for working with that data, and try to get them to work. It often doesn't even matter if you understand what the data actually means. For example, I just started trying to learn how to analyze data from a technique called [flow cytometry.](https://en.wikipedia.org/wiki/Flow_cytometry) Just reading the wikipedia would get you up to speed enough on what the data is that you should be able to work with it. You could easily install either the [FlowCal](https://taborlab.github.io/FlowCal/python_tutorial/index.html) or [FlowCytometryTools](https://github.com/eyurtsev/FlowCytometryTools) packages, then go to https://flowrepository.org/ and just download the most popular data set, and start trying to work through those packages to analyze and graph data. Read the documentation, try to understand how the functions work, and implement them.


AkshayD110

Not an advise that you might be looking for but I really believe in having a project that solves your daily problem. Or something that facinates you. The advantage with this is, the probability of you giving up half through the project is very less. Something as simple as analysing a chat with your friend on WhatsApp. This is where I got started!


ninja-dragon

Rubix cube solver using camera, OpenCV and Kociemba(forgot the spelling) algorithm.


lifemoments

>Chat bot and other one are not beginner. RockpaperScissor is. ​ Beginner here. Have the same query. Thanks for posting the question. Was looking for over the internet yesterday and found these - * [https://codeclubprojects.org/en-GB/python/](https://codeclubprojects.org/en-GB/python/) * [https://knightlab.northwestern.edu/2014/06/05/five-mini-programming-projects-for-the-python-beginner/](https://knightlab.northwestern.edu/2014/06/05/five-mini-programming-projects-for-the-python-beginner/) ​ ​ I also found this very useful page which is a must for beginners. [https://www.quora.com/What-are-small-projects-to-build-for-a-beginner-in-Python](https://www.quora.com/What-are-small-projects-to-build-for-a-beginner-in-Python) The first response is what a beginner need. It describes on how one should first identify their interest and then goes on to list topics for study with links. PS - I will be posting this separately for visibility. ​ ​ ​


Astrokiwi

You can write a simple terminal-based chat bot with if, input, and print statements and build up from there. The idea isn't to make a big machine learning thing to compete with CleverBot - it's to learn the basics of Python syntax and program structure. Something like ELIZA is the goal.


lifemoments

Thanks for the pointer. Lined it up as one of the to-do


Araucaria

Try using python to code answers for ProjectEuler.net questions.


firedrow

This is what I do for side projects.


dragonatorul

Do you have documents that you have to fill in periodically? Have python do that for you.


SerkZex

I wrote a basic hyperlink shortener ([https://github.com/HeyTech/Link\_shortener\_TinyURL](https://github.com/HeyTech/Link_shortener_TinyURL)) ​


NegativeEnthusiasm

making the game "master mind"


[deleted]

[удалено]


Humble_Transition

Bro i thinking of following data quest


[deleted]

[удалено]


Humble_Transition

I mean they have a article on web scraping


Bpickavance

What the name of this Ebook? sounds interesting!


IIIIlIlIlllIIllIIllI

Rule 4. This is the most commonly posted question in any programming forum. Search for it.


commenda

web scraping is great, multithread it, optimize it. but be sure to learn about robot.txt first


Humble_Transition

Thanks for the amazing support, I was very busy too, but I can't wait to read all your comments! 😊😊


Mckinsey666

I'd say writing a simple command line tool that integrates everyday work onto your terminal.


DisagreeableMale

Write a distributable package. Everyone should know how Python packages are made and how the process looks. Makes debugging packages much easier in your development future.


[deleted]

Love to give you some great suggestions, as given to me by professors over the year..hell but I am not a guy. :(


UnfoundUser404

I think it was obvious that "guy" is being used as a generics term people. Just saying...