J'ai essayé différentes choses avec Python: le grattage (Beautiful Soup + Selenium + PhantomJS) et l'analyse morphologique

Je programme Python depuis environ 3 mois les soirs de semaine et les week-ends, mais je m'amuse toujours.

Ce que j'ai fait récemment

1, analyse morphologique ・ Je voulais saisir le flux de données de lancement dans Mecab, en réduisant uniquement la nomenclature, en calculant la fréquence, puis en ajoutant un dictionnaire utilisateur et en essayant à nouveau, alors j'ai essayé un peu. ・ Comme il a été terminé immédiatement, je ne décrirai pas les détails. .. ..

[Site auquel j'ai fait référence] http://qiita.com/fantm21/items/d3d44f7d86f09acda86f http://qiita.com/naoyu822/items/473756fb8e8bbdc4d734 http://www.mwsoft.jp/programming/munou/mecab_command.html http://shimz.me/blog/d3-js/2711

2, grattage ・ Le grattage comme les textes et les images est très souvent lié au travail, donc je voulais étudier dans une certaine mesure, donc cette fois je suis parti de livres https://www.amazon.co.jp/dp/4873117615

・ Tout d'abord, il était bien entendu que Python + Beautiful Soup peut rapidement prendre une seule page avec une structure facile à comprendre.

・ Ensuite, il s'est avéré que le site généré par JS est difficile avec la combinaison ci-dessus, et il y a PhantomJS et CasperJS, et en écrivant en JS et en grattant, il peut être repris rapidement.

・ Après cela, il a été constaté que même en Python, la combinaison de Selenium + PhantomJS peut gratter les sites Web générés par JS.

-Pour le moment, quand j'ai essayé de convertir en csv avec le Pandas Dataframe du dernier code, je suis resté coincé avec UnicodeEncodeError, mais je veux le faire pour le moment avec la fin que je mette la spécification d'encodage à la place pour convertir en csv avec Dataframe et le résoudre. A été réalisé

[Site auquel j'ai fait référence] http://doz13189.hatenablog.com/entry/2016/08/21/154219 http://zipsan.hatenablog.jp/entry/20150413/1428861548 http://qiita.com/okadate/items/7b9620a5e64b4e906c42

Je viens de combiner les sources des sites auxquels j'ai fait référence avec du copier-coller, mais je l'ai fait avec les sources suivantes. .. ..

scraping.py


import lxml.html
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
import time

aaa = []
bbb = []
ccc = []

for page in range(1,2): #Définissez la limite de pages comme il convient
	driver = webdriver.PhantomJS()
	driver.get("https://www.~~=page=" + str(page))
	data = driver.page_source.encode('utf-8')
	soup = BeautifulSoup(data, "lxml")

	for o in soup.findAll("h3", class_="hoge"):#Je le vois souvent, mais pourquoi tout le monde l'appelle-t-il hoge?
		aaa.append(o.string)

	for o1 in soup.findAll("h3", class_="hoge"):#Pourquoi hoge?
		bbb.append(o1.string)

	for o2 in soup.findAll("div", class_="hoge"):#Quoi...?
		ccc.append(o2.get_text())
	time.sleep(3)

df = pd.DataFrame({"aaa":aaa, "bbb":bbb, "ccc":ccc})

print(df)
df.to_csv("hogehoge.csv", index=False, encoding='utf-8')

driver.quit()

Il y a de nombreux endroits dont je ne suis pas sûr, mais cela a fonctionné pour le moment.

Je vais continuer à étudier.

Recommended Posts

J'ai essayé différentes choses avec Python: le grattage (Beautiful Soup + Selenium + PhantomJS) et l'analyse morphologique
Grattage avec Python et belle soupe
J'ai essayé de gratter avec Python
J'ai essayé de gratter avec du python
Essayez de gratter avec Python + Beautiful Soup
J'ai essayé webScraping avec python.
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
Pratiquer le web scraping avec Python et Selenium
Triez les visages d'anime en grattant les pages de personnages d'anime avec Beautiful Soup et Selenium
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé l'analyse morphologique et la vectorisation de mots
J'ai essayé de faire un processus périodique avec CentOS7, Selenium, Python et Chrome
Grattage avec Python + PhantomJS
Grattage avec du sélénium [Python]
Gratter avec une belle soupe
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
J'étais accro au grattage avec Selenium (+ Python) en 2020
Méthode de test automatisée combinant Beautiful Soup et Selenium (Python)
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
J'ai essayé fp-growth avec python
[Python] Analyse morphologique avec MeCab
Grattage au sélénium en Python
Grattage avec Selenium + Python Partie 1
Essayez différentes choses avec PhantomJS
Analyse morphologique japonaise avec Python
Grattage avec Selenium + Python Partie 2
J'ai essayé gRPC avec Python
Grattage de table avec belle soupe
J'ai essayé de [gratter] des images de mode et des phrases de texte avec Python.
J'ai essayé de créer diverses "données factices" avec Python faker
J'ai essayé différentes méthodes pour envoyer du courrier japonais avec Python
J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
[Python scraping] J'ai essayé la recherche Google Top10 en utilisant Beautifulsoup et sélénium
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ②
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ①
[Python, Selenium, PhantomJS] Une histoire lors de la capture d'un site Web avec une charge paresseuse
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
Scraping avec Node, Ruby et Python
[Premier grattage] J'ai essayé de créer un personnage VIP pour Smash Bra [Beautiful Soup] [En plus, analyse de données]
Scraping avec Selenium en Python (Basic)
Text mining avec Python ① Analyse morphologique
Gratter avec une belle soupe en 10 minutes
J'ai joué avec PyQt5 et Python3
J'ai joué avec Mecab (analyse morphologique)!
J'ai essayé d'exécuter prolog avec python 3.8.2.
Grattage de site Web avec Beautiful Soup en Python
J'ai essayé la communication SMTP avec Python
J'ai essayé de me connecter automatiquement à Twitter avec du sélénium (RPA, scraping)
Paramètres lors de l'utilisation de requêtes Python 3 et de Beautiful Soup avec crostini sur Chromebook
Écrivez un "bot" de scraping web sans tête de base en Python avec Beautiful Soup 4
J'ai essayé l'analyse de données IRMf avec python (Introduction au décodage des informations cérébrales)
J'ai essayé de mettre à jour le calendrier Google avec des rendez-vous CSV à l'aide de Python et de l'API Google
J'ai essayé l'analyse de régression multiple avec régression polypoly
J'ai essayé d'utiliser du sélénium avec du chrome sans tête
J'ai essayé l'analyse factorielle avec des données Titanic!
J'ai essayé un langage fonctionnel avec Python