Cet article est l'article du 8ème jour de Crawler / Web Scraping Advent Calendar 2016. Je suis désolé d'être en retard orz
Je vais le mettre sur l'étagère et voir s'il y a des articles non publiés sur d'autres calendriers de l'Avent.
Données de Qiita utilisant les outils de formatage de texte Python tse et beautifulsoup4 Extrait.
Pour plus de détails, vous pouvez comprendre en regardant la diapositive présentée par M. Ishimoto à PyCon JP 2015. tse - Utilitaire de formatage de texte par Python
Exemple de tse utilisé cette fois
-ms-Importation avec <format de nom de module * -b --Action à prendre immédiatement après le démarrage {{}} --Spécifiez le bloc à indenter
Python 2.7.10
$ curl http://qiita.com/advent-calendar/2016 | tse -ms 'bs4' -b 'for a in BeautifulSoup(sys.stdin.read(), "lxml").find_all("a", class_="adventCalendarCard_block_showAll"):{{print(a.get("href"))}}' > categories.txt
categories.txt
/advent-calendar/2016/categories/to_be_decided
/advent-calendar/2016/categories/programming_languages
/advent-calendar/2016/categories/libraries
/advent-calendar/2016/categories/databases
/advent-calendar/2016/categories/web_technologies
/advent-calendar/2016/categories/mobile
/advent-calendar/2016/categories/devops
/advent-calendar/2016/categories/iot
/advent-calendar/2016/categories/os
/advent-calendar/2016/categories/editors
/advent-calendar/2016/categories/academic
/advent-calendar/2016/categories/services
/advent-calendar/2016/categories/company
/advent-calendar/2016/categories/miscellaneous
$ cat categories.txt | while read line; do curl http://qiita.com$line | tse -ms 'bs4' -b 'for td in BeautifulSoup(sys.stdin.read(), "lxml").find_all("td", class_="adventCalendarList_calendarTitle"):{{print(td.find_all("a")[-1].get("href"))}}' >> calendars.txt; done
calendars.txt
cat calendars.txt
/advent-calendar/2016/chat-bot
/advent-calendar/2016/idd
/advent-calendar/2016/enough
/advent-calendar/2016/rite
/advent-calendar/2016/befool
~
/advent-calendar/2016/bookthankyou
/advent-calendar/2016/muscle
/advent-calendar/2016/ue4_inside
/advent-calendar/2016/job
/advent-calendar/2016/job2
$ cat calendars.txt | while read line; do curl http://qiita.com$line | tse -ms 'bs4' -b 'bs=BeautifulSoup(sys.stdin.read(), "lxml"){{}}if bs.find("div", class_="adventCalendarItem_cancelButton"):print("[" + bs.title.string.split("- Qiita")[0].strip().encode("utf-8") + "](http://qiita.com"+bs.find(id="redirect_path").get("value")+")")' >> not_post_calendars.md; done
Calendrier de l'Avent de cérémonie 2016 Dart Advent Calendar 2016 F# Advent Calendar 2016 Java Puzzlers Advent Calendar 2016 JavaScript Advent Calendar 2016 Lisp Advent Calendar 2016 Perl 5 Advent Calendar 2016 PHP Advent Calendar 2016 Calendrier de l'Avent 2016 pour créer quelque chose avec PHP Calendrier de l'Avent 2016 pour vaincre le FPS AOS de style Micra avec Python Smalltalk Advent Calendar 2016 Clojure Advent Calendar 2016 Calendrier de l'Avent en langue D 2016 Go Advent Calendar 2016 Go (Partie 3) Calendrier de l'Avent 2016 Haskell Advent Calendar 2016 mruby Advent Calendar 2016 R Advent Calendar 2016 Rust Part 2 Advent Calendar 2016 Scala Advent Calendar 2016 Swift Part 2 Advent Calendar 2016 Un examen PHP par une personne du calendrier de l'Avent 2016 A-Frame Advent Calendar 2016 Django Advent Calendar 2016 Docker2 Advent Calendar 2016 Grimoire.js Advent Calendar 2016 GStreamer Advent Calendar 2016 phina.js Advent Calendar 2016 React Native Advent Calendar 2016 ROS Advent Calendar 2016 RxJava Advent Calendar 2016 RxSwift Advent Calendar 2016 Angular Advent Calendar 2016 Laravel Advent Calendar 2016 Ruby on Rails Advent Calendar 2016 Unity Assets Advent Calendar 2016 Vue.js Advent Calendar 2016 Firebird Advent Calendar 2016 MySQL Casual Advent Calendar 2016 eZ Publish / eZ Platform Advent Calendar 2016 jupyter notebook Advent Calendar 2016 Markdown Advent Calendar 2016 Microservices Advent Calendar 2016 Calendrier de l'Avent Performance du site Web 2016 Windows Device Portal Advent Calendar 2016 Calendrier de l'Avent 2016 Calendrier de l'Avent Frontend Engineer 2016 CSS Advent Calendar 2016 TECHSCORE Advent Calendar 2016 Advent Calendar 2016 Calendrier de l'Avent Crawler / Web Scraping 2016 Calendrier de l'Avent PostCSS pour une personne 2016 Appcelerator Titanium Advent Calendar 2016 IBM MobileFirst Advent Calendar 2016 Calendrier de l'Avent Android 2 2016 iOS Advent Calendar 2016 Calendrier de l'Avent iOS Partie 2 2016 Calendrier de l'Avent iOS Partie 3 2016 Xamarin Advent Calendar 2016 PowerShell Advent Calendar 2016 SORACOM Advent Calendar 2016 JavaScript Robotics Advent Calendar 2016 myThings Advent Calendar 2016 Développement d'un système de surveillance infantile par Raspberry Pi Advent Calendar 2016 Windows 10 IoT Core Advent Calendar 2016 NetBSD Advent Calendar 2016 Solaris Advent Calendar 2016 Linux Advent Calendar 2016 Emacs Advent Calendar 2016 Visual Studio Code Advent Calendar 2016 Calendrier de l'Avent Overlay Network 2016 Calendrier de l'avent Anything Security 2016 Introduction du calendrier de l'Avent 2016 des documents d'interaction homme-machine Machine Learning Advent Calendar 2016 Calendrier de l'Avent de reprise des mathématiques au lycée requis pour le calendrier de l'Avent 2016 d'apprentissage automatique Calendrier de l'Avent de mise en œuvre du langage 2016 DevRel Advent Calendar 2016 DIVE INTO CODE Advent Calendar 2016 GitLab Advent Calendar 2016 IDCF Cloud Advent Calendar 2016 Google Cloud Platform(1) Advent Calendar 2016 Kubernetes Advent Calendar 2016 Microsoft Azure Advent Calendar 2016 Fucking App Advent Calendar 2016 Calendrier de l'Avent des ingénieurs BRIGHT VIE 2016 dotstudio Advent Calendar 2016 Engraphia Advent Calendar 2016 Fablic Advent Calendar 2016 Fujitsu extended Advent Calendar 2016 Hortonworks Advent Calendar 2016 ids-info (Faculté des arts libéraux, Département des sciences interdisciplinaires, Cours d'informatique complet) Calendrier de l'Avent 2016 iRidge Advent Calendar 2016 KAYAC Advent Calendar 2016 KOIL CSC Advent Calendar 2016 Morning Project Samurai Advent Calendar 2016 Calendrier de l'Avent N High 2016 Okinawa.go Advent Calendar 2016 Okinawa.rb Advent Calendar 2016 Calendrier de l'Avent de la cérémonie d'entrée Perl 2016 Scoville Engineers Advent Calendar 2016 Seattle Consulting Advent Calendar 2016 TokyoSW Advent Calendar 2016 Wondershake Advent Calendar 2016 Calendrier de l'Avent Aratana 2016 Calendrier de l'Avent Lancers 2016 Calendrier de l'Avent du Collège des sciences de l'information 2016 Calendrier de l'Avent du système mathématique 2016 Japan Information Create Engineers Advent Calendar 2016 Calendrier de l'Avent 2016 de l'Université des sciences de Tokyo Atrae Advent Calendar 2016 eureka Advent Calendar 2016 Goodpatch Advent Calendar 2016 HAL Advent Calendar 2016 IT Study Group / Community Management Advent Calendar 2016 Calendrier de l'Avent du groupe mixi 2016 Opt Technologies Advent Calendar 2016 Sansan Advent Calendar 2016 Yahoo! JAPAN Tech Advent Calendar 2016 Les membres interprètes écrivent des articles utiles pour leur travail quotidien! Calendrier de l'Avent 2016 Calendrier de l'Avent Future Architect 2016 Introduction aux programmes de jeu avec Scratch et Dart Advent Calendar 2016 CloudAnalytics Advent Calendar 2016 Hunachi^shoujin0^algorithm0 Advent Calendar 2016 Product Manager Advent Calendar 2016 Product Owner Advent Calendar 2016 Stream Processing Advent Calendar 2016 Student Advent Calendar 2016 test Advent Calendar 2016 Calendrier de l'Avent Raytracing 2016 Connaissances quand j'étais sous-traitant COBOLER Advent Calendar 2016 Calendrier de l'avent développeur individuel 2016 Calendrier de l'Avent Visualization / Data Visualization 2016 Calendrier de l'Avent Pictogram / Emoji 2016 acairojuni Advent Calendar 2016 Aizu Advent Calendar 2016 FLASHer Advent Calendar 2016 HoloLens Advent Calendar 2016 Serverless(2) Advent Calendar 2016 Calendrier de l'Avent Chatbot 2016 Calendrier de l'Avent VR pour une personne 2016 Calendrier de l'Avent Poème 2016 Merci pour la dédicace du livre technique Calendrier de l'Avent 2016
tout | Non publié |
---|---|
509 | 141 |
Le résultat ressemble à ceci.
Pour le moment, c'est 28% du total. Travaillons dur pour réduire le pourcentage de calendriers non publiés en utilisant pleinement les publications et les messages proxy à une date ultérieure afin que nous puissions terminer 2016 confortablement!