αα αααααα Olivier ααααΆαααααΈααααΌαααΆααααα αα αααα»ααα·αααΆαα’αααΈααααΌαααααΎαα α αΎααααα»αααΆααααααα α α·αααααΆαααα’αααααααΆααα’ααααΈ Habrahabr (αα·ααααα·ααΆαααααΆααααααα) αα αα»αααααΌααααααααααα»α α αΎααα»αααα
ααΆαααΏααα½αα±ααα αΆααα’αΆααααααααΆα αααΎαα ααΈαα½ααααα»αα αααααα½αααααΊααΆαα’αα·αααααααααααααα·ααααααΆαααααα’ααααααααα»ααααααα 12 ααααΆαααα’αααα·ααΆαααααα αααααα ααΆα§ααΆα ααα αααααΆαα»αααααααααΆααααα½αα ααα½αααΊαααα αΆααααΆαα αααΆααα ααΆααααα - αα αααααααΆαααΆααα
ααααΎαααΆαααα
ααΎααααΈαααααΈααααααα Habr ααΆααααααΎαααΆα αΆαααΆα αααΎααααΈααααααΆααα’αααααααααααΆααααΆααα’ααα αΎαααΆαααααααααΆαααααΆααΈαα½ααα (α§ααΆα αααααΆαααα·α αααα) α ααααΌαααΆαααΆαααΆαααΆααααα½α ααΈααααααααααααΆαααα α’αααααααΆααα’ααααΎααα ααΌα ααΆ "habrahabr.ru/post/337722/" α αΎααααααααΌαααΆααααααα±αααααΆαααΉααααΉαααΆαααααΆαααααααα αααααΉαααΆααΆααααααΆαα α»ααααααααΆαααααα·α ααΆα 350 ααΆαααααα»αααΎαααααααααΆααααααααααΆααα―αααΆααααα’αΆα ααααΎααΆαααΆααα’αααα αααα»αααααα·ααα»α (αααααΌα Python):
import numpy as np
from multiprocessing import Pool
with Pool(100) as p:
docs = p.map(download_document, np.arange(350000))
αα»αααΆα download_document
ααααΆααΆααααα»ααααααααΆαα½αααΉαααααααααΆαααααααααΌαααααΆ α αΎαααααΆααΆαααΆαααααααααΆααααααΆαα’ααααααα
ααααΈαα
ααΆαααααααα html α
import requests
from bs4 import BeautifulSoup
def download_document(pid):
""" Download and process a Habr document and its comments """
# Π²ΡΠ³ΡΡΠ·ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
r = requests.get('https://habrahabr.ru/post/' +str(pid) + '/')
# ΠΏΠ°ΡΡΠΈΠ½Π³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
soup = BeautifulSoup(r.text, 'html5lib') # instead of html.parser
doc = {}
doc['id'] = pid
if not soup.find("span", {"class": "post__title-text"}):
# ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ²Π°Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π°
doc['status'] = 'title_not_found'
else:
doc['status'] = 'ok'
doc['title'] = soup.find("span", {"class": "post__title-text"}).text
doc['text'] = soup.find("div", {"class": "post__text"}).text
doc['time'] = soup.find("span", {"class": "post__time"}).text
# create other fields: hubs, tags, views, comments, votes, etc.
# ...
# ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
fname = r'files/' + str(pid) + '.pkl'
with open(fname, 'wb') as f:
pickle.dump(doc, f)
αααα»αβααααΎαβααΆαβαα·ααΆα αααα»αβααΆαβααβααΎαβααααβααααΈβαα½αβα ααα½αα
ααααΌααα½ααααα·ααΆαααΆααΆααααααΎαααααΎαααΆαα αααΎαααΆαααΆαααααΌααα αααα»ααα½αααααΆαααΊααααΆαααααααααααα ααα»αααααααα»αααααΈαααααααα»α ααΆααΆαααααααααΆαααΆααααΆαααααααα·ααααααΆ processor αα ααα»αααααααααΆα α αΎαααααΎαααΆα 100 ααααΎαααΆαααΏαααΆα 4 α¬αα·ααΆαααΆ 20α
ααΈααΈα αα
αααα»αααΆααααα ααααααααΆαααααααααα½α’αααααα·ααα - α§ααΆα ααα ααΆαα’αα»αααααΌα
ααΆ "%&#@" α ααΆααΆαααααααααΆαααΆ html.parser
αααβαααα»αβααΆαβααααΎβααααΌαβααΆαβααααα·ααααβααΉαβααΆαβαα½αβαααα
αΌαβααααΆα &#
ααααα·α
αΆαααΆααΆααΆααΆααΆαα
αΆααααααΎαααα’αααααΆα html α αααα»αβααΉαβααααΎβαααααααβαααα
βαα½α
βα αΎα ααα»ααααβαααα·ααΆβααΆαβααααΎβααΆβα’αααβααααΆααβααβα’αΆα
βααααΆααβααααΌβαβααΆαα»βαααβα
ααΈααΈ αααα»αααΆααααααααααααΆαααααα»αααααααΆαααΆααα’αα ααΎααααααααΈα α―αααΆααααααΆαααα 65927, 162075, αα·α 275987 ααααΌαααΆααα»αααααΆαααααααα αΆααααααααααααααα»αα ααΆαααααααΊααΆα’ααααααααααααα½αα’αααΈαααααααααΆαα javascript αααααΆααα pdf ααααΆααΆα ααΆα SMS ransomware αααα»αααααααααΆαααα»ααααααααα·ααΈαααα½ααααααα·ααΈαα»αααααΆαα’ααΈαααΊαα·α αα·αααα ααααα CrashSafari.com αααααααΎ iPhones α±ααααααΎαααΆαα‘αΎααα·αα ααα αΆαααααααααΆαααααΎαα’ααααααα½αααααα αααααααα αααα»αα’αα‘α»αααααααααααααααααα αααααΆαααα 338586 α’αααΈααααααΈααα ααΎααα αααααα αΆαααααα α·ααα αΉααααααααΎαα½αααααΆαααααα’αααααααΎααΎααααΈααΈαααααΌαα·ααααααααααΈαααΌα ααΌα ααααααΎαα’αΆα α αΆαααα»αααΆααΆαααΆαααααααα αΆαααααααααΊαααααααααΆααααΆααα
α’ααααα "ααααααααΆαα" ααΆααααααα ααΆααααΉαααααΆαααααααΆααααααααΆαα»ααα’αα·ααααΆ - 166307 αααααα α’αααΈα’αααΈααααα ααα Habr ααααααααααΎα "αααααα α½ααααα ααααΌαααΆααα»α α¬αα·αααΆαααΆααααααα"α α’ααα αΉαα’αααΈαα’αΆα ααΎαα‘αΎαα
ααΆααααα ααα’αααααααααΌαααΆααααααααααΆαααΆααα
αα
αααααα α§ααΆα ααα ααΆαααα·α
ααααααααα»αααααααΆαααααΌααααααααααΈαααααα "'21 ααααΌ 2006 at 10:47 am" αα
ααΆαααααααΆα datetime
, αα·α "12,8k" views - αααα»α 12800. αα
ααααΆααααΆαααα α§ααααααα·α ααα»αα½αα
ααα½ααααααΆαα
ααααα α’αααΈααααα½αα±ααα’ααααααΎα
αααα»αααΆααααααΉαααΆαααΆαααααααΉαααααα αα·ααααααααα·ααααααα ααΆααααα ααα
αΆααααα½αα
ααα½αααΆααααα»αααΎαα
ααα»α αα·αααα½αααΆα 65535 ααα‘ααααΈαα½ααα
ααΆααααααα’αααααααα’ααααα (αααααααΆαααΌαααΆα) ααΆααααααα»α 1.5 ααΈα αααΆαα, ααα·αααααααΆαα½αααααααΆαααααΆ ββ- 3 αααααααααα·ααααα αααα½αααααα αααΆαα - ααααααΆαααααΆα’αααΈα’αααααα αααα’αΆα ααααΌαααΆααααααΆαα»αααΆαααααα»ααα αααα»α RAM αααααΆααΆαααααΆααααα’αΎαααααΈαααΆααααααΆαααααα»αα
αααα»αβααΆαβα αΆααβααααΎαβααΆαβαα·ααΆαβα’αααααβαα·αβαααβααβααΈβα’αααααβαααα½αβα―αβαα ααα»ααααβααβααΈβααααααΆαβααααΆα ααΆαααα·α αααα ααααΆα ααααααααα αααααα αα·αβααΆαβα αΌαα α·αααα ααΆααααααΆααΆαα’αΆα ααααΆααααΆαα αααΎαα
αα·ααααΆααΆαα’αα·αααααα Habrahabr
α’ααααααα ααΎααα αααααααααΌαααΆαααααα»αααααΆααααΈααααΆα 2006; ααααΆαααααα»α - αααα»αααααΆα α’α α α¨-α’α α‘α¦ α
ααΎα’αααααααΆαααααααααΌαααΆαα’αΆααααΆααααααααα»ααααΆαα αααααααααααααΆ ααΊαα·αααΆααααα½ααααα»αααΆαααΆαααααααααααα α’αααααααΈααααΆα 2012 αα·ααααααααΆααααααΆαααα½αααα·ααααα αα·αααΆαααΆααααααααΆααααα αααΎα ααα»ααααα’αααααααααΈαααΆααα·αααααΆα αα·αα αααΆαα αααΎαααΆαα ααααααααΆαααααααΆαα₯αα·ααΆααααΌα ααααΆ (ααΆαααααααΆα) ααααααααααααα»αααααΆα 2015 α αααα ααααΆαα αααα»αααααΆαααΆααααα·ααααα·ααααααα·α αα αα·ααααααΆα ααΆαααα α·ααααα»αααΆααααααα’αααα’αΆαααΆαααααΆααααααΌαααΈαααα»α IT αα ααΆαααα αΆαααααΆααααααΊα αΆααα
ααααααααΈααΎα’ααααααααα½αα―α αααα»αααΆαααΆαααααα·ααααααααααααα αα½αααα ααΆαααα·α ααα½α 6 ααΆααααααΆαααΆαααΆ 240 ααΆααααΆαααααα»αα αααααα½αααααααΌαααΆαα αΆαααΆαα ("UFO ααΆαα ααα αΌα α αΎαααΆαααααα»αααααααΆααα·ααΆα αΆααΉαααααα ααΈααα")α αααααααααααααα·ααΆαααααααααααααα·ααΊααΆαα½αααααΆαααααΆαααααααΆα ααΆααααααΆααα·ααααΆα’αααΈαααααααΆααααΆααααα ααααα· α’αααα’αΆα αααααΆααααα αααα ααααααα’αααααααααΌαααΆαα’αΆαααΆααα’ααα
ααΆααΆαααααααααΆαααΆα’αααααααΆαα αααΎαααααΌαααΆαααααα αα·ααααα ααααα·αα ααααααααΆαα½αα αΆααααΈαααα 10 ααααΉαααααααα 20 ααα αααααΊα§α αα ααααααααΎααΆααα ααΈαααα»ααααΌααααΌααααααΆα αααα’αΆα ααΆααααααΆ Habr ααααΌαααΆαα’αΆααααααΆααααααααααα·ααααΆααΈαα α αΎαααΆαααααΆαα·ααΈααααα’αααα»αααΆααααααΆαααααα ααααααααααΎααΆαα ααααα·ααΈααα ααΆαα ααα αΆααααααααΆαααααααααααΊααΆααααααααΆαααΈααΌαααααΆααα Habr αα αΌαααααααααααααααααα
αααααΆαααΆαααΆααααα α’αααααααααααα αααααααααααααΆαααααααα·αα·ααααααΆαααααααΆααααααααααα ααα»ααααααΆαααααααα "ααΈαα·αααααα" ααα’αααααα αααα»αααΆαααααΆααΈααααααααααααααΆααααΌαααΆαα ααα αΆαααΈααΆαααααα»αααα’ααααααα ααα·αααααααααααΆα ααΆααΆαααααααααΆαααΆα₯α‘αΌααααααα·αααααααΆααααα (αααααΆααααααααα) ααααααααα αα 20 αααααααααΊα§α αα ααααααααΌααααααΆααααΈααΆαααααα»αααααααΆα ααΆααααα α αααΎαααΆαααΆαααααααΆαααααα·αααααααΆααα’αααα ααΎα’αααααααααΌαααΆααα»αα ααα α αΎααααα»αααααααααΈααααααα½ααααα»α 75% ααααα·αααααααΆααα’ααα αααααΉαααΉααααααα α’ααααααα»ααααααΌαααΆαα’αΆαααΏαααΆααα»α - α§ααΆα ααααααα»αααααΆα 2010 ααΆαααααααΆαααααα·αααααααΆααααααα»ααααααα 6 ααααααααΌαα
ααΆααΆαααΎαα‘αΎαααΆααΆαααααΆααααα’αΎααααααΆαααααα»ααααααα·αααααααΆαα’αΌααααααΆααααα α ααα½ααα½α’ααααααΆααααααα αααα»αααα·ααααααα½αααΆαααΎαα‘αΎαααααΎααααααααααααα»αααααααααααα½αααΈαα·ααααα Habr!
ααα·αααα‘ααααΆααααα½αααΆαααα·αααααααΊααΆαααααααααα αα·αααΌα ααααΆααααααααααα αα ααΎ Habre α’αααα’αΆα ααΆαααα·αααααΉααα pluses ααα»αααααααααα»αααααααααΆαα minuses αααααα αααααΆαααΆαααΆααααα α’αααα’αΆααα·αααααΎα±ααΆαα α»ααααααααΉαααΆααααα α αααααα αα α»ααααααααααΆααα·αα αΌαα α·αααααΊαααα αα 15% ααααΆαααααααααααΆααα’ααα ααααΆααααΆαααΆααααα αααΎα ααα»ααααααΌαααα α’αααα’αΆαααΆααααααΆαα α·αααααα’α
α’ααααααααα½αα―αααΆαααααΆααααααΌαααΆααααααααΆα ααΆα§ααΆα ααα ααααααααααααΆααα’ααααααα·αααααααααΆαααΈαααΌαααΆααααΆααααΆααααΈααΆαααΎαααααΎαααΆαααα αααααααααα αααααΈααΆααΆααα·ααααα·αααααα αααα»αβαα½αβαααααααα α’αααααβααΆαβααααΆαβααΆβααΌαβααΆαβαα·αβαααβαα!
αα ααΆαααααααα’ααααα (αα αααα αΆαααααα ααααααΌα) ααααααΆααααααΌααααααα ααΆα§ααΆα ααα αααα»αααα‘α»αααααΆαααααΌαααα’αααα·ααΆααααα Habr ααΆααααα αααααααΌα αα·αααααα αααα»αα’αααααααΆαααΎαα‘αΎαα
αααααΆααααΈαααααΈαααααΆαα»ααααΆααααΌαααααα ααααα αααα»αααΆααααααα α α·αααααΆαααααααΈααααααααααααΆαααα·αααΆααααααααΆαααααααααααΆαααααΆααααααΌαα αααααΆαααα’αΆα ααααΌαααΆαααααΎαααΎααααααααααααααααα·ααΈα’ααααα ααα»αααααααααΆααα’αααα αΆααααααΎαααααΌα α’ααααα·αα’αΆα αααααΎααααα‘αΎααα·αααΆααα ααα»ααααααααΌαααααΎααααΆααααααααααα½α ααΆααααα αααααααΆαααααα’ααααα·ααααααα’αααααααΈαα½ααα αααα»αααΆαααΌααα·ααααΆααΆαααααααΆα ααα½ααα½ααα ααΎααΆααΆαα αααααΆααα "Google" ααααΌαααααΌαααΆαααααααααα (αααα ααααΆααΆαα αααΎααααααΆααα SEO) ααα»ααααααΆαααααααααααα’ααααΆα αααΎαααααΆαα Javascript ααΊααΆαααααΆαααααααααα·αα αα·αααααααΈαα ααααΎαααΊαα ααα»ααααααΆαααααααΆαααΈαααΆαα αΆααααααΎαααα½αααΆααααααΆαααα·αααΆααααΆαααΆαααα αααααα»αααααααααα»ααααΆαααααΆαα α»αααααααααα αααααΆααα·αααα ααΈαα»α αα ααααΆαααααΆααααααααααΎααααΆααααα½αααααααααα
ααΆααΆααα·αααΆαα αααα»αααΆαα αΆααα’αΆααααααααΎαααααΆαααα’αααΈαααααΆααααΆααααααααΆαα’αααα’αΆαααΆααααα αααΎαα αααα»αααΆαααααΆα ααα½ααααααααααΆαααΎα ααΆααααααααα αα·αααα·ααααααα αααα»ααααααΆαααααΈαα½ααα αααααΆα’αααΈαααααΆαααΎαα‘αΎαα
- αααααΆααααααααΆαααΎαα αααΎααααα»αα arduino, ααΆααα ααΆααα ααααα, ααΆαα’αα·ααααααααα ααααα, digest, links, css, html, html5, nginx, algorithmsα
- αααααΆααα "α αΌαα α·ααα" αααα»αα vkontakte, ααααααα, jquery, opera, c, html, web development, html5, css, web design α
- αααααΆααααααααΆααα·ααΆααααΆα αααΎααααα»αα opera, skype, freelance, vkontakte, ubuntu, work, nokia, nginx, arduino, firefox α
ααααα·ααΈααα αααααΆααααα»ααααα»ααααααααααααααΆααα α’αααα’αΆα
ααΆααα
αααΆααααααΆαααα½αααΆααΆαααααααα (α αΎαααααααααααααααααΆαα½α
- αααααΆααααααΆαααΆααα’ααααα’αααα·ααΆααααα Habr ααααΆαααααα·αααααα»α (ααΆαααααΆααα α»α) ααΊ google, android, javascript, microsoft, linux, php, apple, java, python, programming, startups, development, ios, startup, social networks
- αααα»αααααΆα 2017 ααΆαααααα·αααααα»αααΊ javascript, python, java, android, development, linux, c++, programming, php, c#, ios, machine learning, information security, microsoft, react
αα αααααααααααααΆαααΆααααααααΆααααα ααα»αααααααΆααα’αΆα ααα α·ααααα»αααΆααααΆα§ααΆα αααα ααααααΆαα ααααα½ααααααααααααα Python αα·αααΆααα»αααΌααα php α¬ "αααααα·α " αααααααΆαααα αΆααααααΎα αα·αααΆαααΎαα‘αΎαααααΆαααααααΆαααΈαα
αα·ααααααααΆαααΆααα’αααα ααΎ Habre ααΆααααααΆααααααΆαααααΆααααααααααααα α§ααΆα ααα αααβααΆβααααΆαβααΆααβαα·αβαααβααΆαβαα½αβααβαααα ααα»ααααβα αΆααβααΌα βααΆβαααααααβαααααΆααβαααα»αα ααΌα ααααα "αααα·αααΊααΆαααααΆαααααα»ααααααααααΆα", "α αΆααααααΎαααΈααΌαααΆαααΆαααα", "αααα Iowa", "ααΏαααααα", "superalesh", "αααΆαααΈαα αα αΆα", "α’αααΈαααααααΌαααααΎαα αααααα αα", "αααα»αααΆα αααααααααα αααα»ααααΆαααΈααα·αααΆα α", "ααΆααααα ααααΌα αααααααα", "ααΎααα·αα’αΆα ααααΆαα½αααααΆαααααααα" α ααΎααααΈααααααααααΆαααααα’ααααααααααα ααααΆααα·ααααααααααΆαααα - α’αααααΉαααααΌαα’αα»ααααααααΌααΆααααααΆαααααΎα’αααααααα’αααααα
ααΆααα·ααΆααααα’α·ααααααααααα’αααΈααααΉαααΆαααα’αααααααΉαααΆααα αααα»αα’ααααααααααΆααα ααααΌα αααα»αααΉααααααΎαααααΌαα½ααααααααΆααααα ααα½αααααΆαααΎαααααααααααΆααα’ααααααααααα’ααααΎααααΉαααΆαααααααΆα ααΈααΈα αααα»αβα ααβααααααβαααααΆαβαααααΆαβααΎααααΈβαααααΎαβα’αααααβαααα»αβαα ααΆαααααβααΌα ααααΆβααΉαβα’αααβαα·ααααβαααα Habr α ααΌα ααααααΆα π
PS α αΎααααααΊααΆααα‘αααααΈα
ααααα: www.habr.com