Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added daily horoscope scrapper script #2167

Open
wants to merge 3 commits into
base: master
from

Conversation

@Kim-R2O
Copy link

Kim-R2O commented Jul 3, 2020

Describe your change:

  • Add an algorithm?
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.
Kim-R2O added 2 commits Jul 3, 2020
added daily horoscope scrapper script
@TravisBuddy
Copy link

TravisBuddy commented Jul 3, 2020

Hey @Kim-R2O,
Something went wrong with the build.

TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.

View build log

TravisBuddy Request Identifier: f840e210-bd70-11ea-ab91-9125a069a76b
Copy link
Member

cclauss left a comment

Cool submission!, Lines 18-23 are the core of your algorithm so let’s put those lines into a function:

def horoscope(zodiac_sign: int, day: str = "today") -> str:
    url = ('https://www.horoscope.com/us/horoscopes/general/'
           f'horoscope-general-daily-{day}.aspx?sign={zodiac_sign}')
    soup = BeautifulSoup(requests.get(url).content, 'html.parser')
    return soup.find('div', class_= 'main-horoscope').p.text

Then move all the input() and print() code into __main__. This would allow someone else to easily put your algorithm into a bigger project. print(horoscope(8))

@@ -0,0 +1,28 @@
from bs4 import BeautifulSoup as bs

This comment has been minimized.

Copy link
@cclauss

cclauss Jul 3, 2020

Member
Suggested change
from bs4 import BeautifulSoup as bs
from bs4 import BeautifulSoup

Nobody likes bs ;-) so use BeautifulSoup instead.

import requests

def horoscope():
print('Your daily Horoscope. \n')

This comment has been minimized.

Copy link
@cclauss

cclauss Jul 3, 2020

Member

According to CONTRIBUTING.md algorithm functions should not print()

s = soup.find('div', class_= 'main-horoscope')
print('*' * 70)
print(s.p.text) #horoscope text for chosen Zodiac sign
except:

This comment has been minimized.

Copy link
@cclauss
code refactoring, script editing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.