Security News
Supply Chain Attack Detected in Solana's web3.js Library
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
#haxor
Unofficial Python wrapper for official Hacker News API.
pip install haxor
import and initialization:
from hackernews import HackerNews
hn = HackerNews()
Get certain user info by user id (i.e. username on Hacker News)
user = hn.get_user('pg')
# >>> user.user_id
# pg
# >>> user.karma
# 155040
Stories, comments, jobs, Ask HNs and even polls are just items and they have unique item id. To get info of an item by item id:
item = hn.get_item(8863)
# >>> item.title
# "My YC app: Dropbox - Throw away your USB drive"
# >>> item.type
# story
# >>> item.kids
# [ 8952, 9224, 8917, ...]
To get item ids of current top stories:
top_story_ids = hn.top_stories()
# >>> top_story_ids
# [8432709, 8432616, 8433237, ...]
To get current largest item id:
max_item = hn.get_max_item()
# >>> max_item
# 8433746
Get top 10 stories:
for story_id in hn.top_stories(limit=10):
print hn.get_item(story_id)
# <hackernews.Item: 8432709 - Redis cluster, no longer vaporware>
# <hackernews.Item: 8432423 - Fluid Actuators from Disney Research Make Soft, Safe Robot Arms>
# <hackernews.Item: 8433237 - Is Capturing Carbon from the Air Practical?>
# ...
# ...
Find all the 'jobs' post from Top Stories:
for story_id in hn.top_stories():
story = hn.get_item(story_id)
if story.item_type == 'job':
print story
# <hackernews.Item: 8437631 - Lever (YC S12) hiring JavaScript experts, realtime systems engineers, to scale DerbyJS>
# <hackernews.Item: 8437036 - Product Designer (employee #1) to Organize the World's Code – Blockspring (YC S14)>
# <hackernews.Item: 8436584 - Django and iOS Hackers Needed – fix healthcare with Drchrono>
# ...
# ...
Find Python jobs from monthly who is hiring thread:
# Who is hiring
# https://news.ycombinator.com/item?id=8394339
who_is_hiring = hn.get_item(8394339)
for comment_id in who_is_hiring.kids:
comment = hn.get_item(comment_id)
if 'python' in comment.text.lower():
print comment.item_id
# 8395568
# 8394964
# ...
# ...
HackerNews
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
version | string | No | specifies Hacker News API version | v0 |
get_item
Description: Returns Item
object
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
item_id | string/int | Yes | unique item id of Hacker News story, comment etc | None |
get_user
Description: Returns User
object
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
user_id | string | Yes | unique user id of a Hacker News user | None |
top_stories
Description: Returns list of item ids of current top stories
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
limit | int | No | specifies the number of stories to be returned | None |
new_stories
Description: Returns list of item ids of current new stories
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
limit | int | No | specifies the number of stories to be returned | None |
ask_stories
Description: Returns list of item ids of latest Ask HN stories
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
limit | int | No | specifies the number of stories to be returned | None |
show_stories
Description: Returns list of item ids of latest Show HN stories
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
limit | int | No | specifies the number of stories to be returned | None |
job_stories
Description: Returns list of item ids of latest Job stories
Parameters:
Name | Type | Required | Description | Default |
---|---|---|---|---|
limit | int | No | specifies the number of stories to be returned | None |
updates
Description: Returns list of item ids and user ids that have been changed/updated recently.
get_max_item
Description: Returns current largest item id
Item
From Official HackerNews Item:
Property | Description |
---|---|
item_id | The item’s unique id. |
deleted | true if the item is deleted. |
item_type | The type of item. One of “job”, “story”, “comment”, “poll”, or “pollopt”. |
by | The username of the item’s author. |
submission_time | Creation date of the item, in Python datetime . |
text | The comment, Ask HN, or poll text. HTML. |
dead | true if the item is dead. |
parent | The item’s parent. For comments, either another comment or the relevant story. For pollopts, the relevant poll. |
kids | The ids of the item’s comments, in ranked display order. |
url | The URL of the story. |
score | The story’s score, or the votes for a pollopt. |
title | The title of the story or poll. |
parts | A list of related pollopts, in display order. |
raw | original JSON response. |
User
From Official HackerNews User:
Property | Description |
---|---|
user_id | The user’s unique username. Case-sensitive. |
delay | Delay in minutes between a comment’s creation and its visibility to other users. |
created | Creation date of the user, in Python datetime . |
karma | The user’s karma. |
about | The user’s optional self-description. HTML. |
submitted | List of the user’s stories, polls and comments. |
raw | original JSON response. |
For local development do pip
installation of requirements-dev.txt
:
pip install -r requirements-dev.txt
The mighty MIT license. Please check LICENSE
for more details.
FAQs
Unofficial Python wrapper for Hacker News API
We found that hacker demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.