[RUBY] Créer un mécanisme pour publier des réservations sur Qiita [Projet d'acquisition] ~ Codage de 10 lignes par jour ~ ~

8e jour

Dans la continuité de la dernière fois, nous allons créer la partie acquisition de Qiita.

[Thème technique]

Grattage de brouillon Qiita

Langue

Livrable cible

Obtenez votre propre projet de liste de Qiita

Code et documentation

Mise en place du projet d'acquisition

Puisqu'il s'agit d'un processus de système de connexion comme la dernière fois, utilisez Mechanize.

crawler.rb

crawler.rb


page = agent.get("https://qiita.com/drafts")
doc = Nokogiri::HTML.parse(page.body, nil, 'utf-8')
json = JSON.parse(doc.css('.js-react-on-rails-component')[1].inner_html)
json['creating_draft_items'].each do |item|
  if item['raw_body'].match(/Publication de réservation/)
    id = item['item_uuid']
    title = item['title']
    raw_body = item['raw_body']
    tags = item['tag_notation'].split(' ')
    agent.get("https://qiita.com/drafts/#{id}")
    tag_data = []
    tags.each do |tag|
      tag_data.push({name:tag,versions: []})
    end
  end
end

Ajoutez la phrase ci-dessus en ajoutant et en modifiant à partir de la dernière fois. Le code ci-dessus obtient une liste d'informations brouillon, et s'il y a un mot «poste réservé» dans celui-ci, cette information est obtenue. La dernière fois, j'ai spécifié l'URL comme identifiant dans la partie d'acquisition du brouillon, mais elle sera redirigée par / drafts, donc cela peut être fait.

【la prochaine fois】 Je vais enfin faire une partie de post, mais cela semble être plus difficile que je ne le pensais ... Peut-être que je vais compter sur le sélénium ...

Recommended Posts

Créer un mécanisme pour publier des réservations sur Qiita [Projet d'acquisition] ~ Codage de 10 lignes par jour ~ ~
Créer un mécanisme pour publier des réservations sur Qiita [Publication de réservation] ~ Codage de 10 lignes par jour ~ ~
Codage 10 lignes par jour ~ Mise en œuvre du grattage ~
Comment créer un référentiel Maven pour 2020
Codage 10 lignes par jour ~ Construction de l'environnement de grattage ~
Comment créer une base de données H2 n'importe où
Comment créer des pages pour le tableau "kaminari"
Je souhaite créer une annotation générique pour un type
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
Comment créer une image de conteneur légère pour les applications Java
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Comment créer et lancer un Dockerfile pour Payara Micro
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0