1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
wiki = ["https://pubpeer.com/publications/E9F28E30E9C0770756D5FB85E77785",
"https://pubpeer.com/publications/ADBF355D36B1330508799A817D54A8",
"https://pubpeer.com/publications/7EB3AD6E01A963F259264CF52FC6AE",
"https://pubpeer.com/publications/F51E6986DA40F0DF5A5572CCA4E84B#3",
"https://pubpeer.com/publications/6622AE15F8F3A5A8A6ACDB0F78EC76#5",
"https://pubpeer.com/publications/55F676FA8BAD7D7B631AB941F96B63#17",
"https://pubpeer.com/publications/D569C47E7BE09AD9D238BA526E06CA#30",
]
z =0
while z < len(wiki):
"""Parsing primaire du code afin de récupérer le contenu de la balise de commentaire"""
page = urlopen(wiki[z])
soup = BeautifulSoup(page, "html.parser")
comment=soup.find('div', class_='vertical-container light-timeline no-margins')
"""On transforme mon objet soup en str"""
comment=str(comment)
"""On enlève les entités"""
comment = html.unescape(comment)
"""Je découpe mon objet qui devient donc une liste de str"""
comment = decoupe1(comment)
"""Je redécoupe chaque str (élément de ma liste), j'ai donc une liste de liste (2 niveau)"""
i=0
while i < len(comment):
comment[i] = decoupe2(comment[i])
i +=1
"""Insérer un nettoyage de [0][0] et [-1][-1]"""
comment[0][0] = comment[0][0][95:106]
comment[-1][-1] = comment[-1][-1][0:20]
"""J'extrait les données"""
for i, elmt in enumerate(comment):
comment[i] = extraction(comment[i])
"""J'ai donc maintenant une liste 'comment' contenant n comment[0] qui sont aussi des listes contenant 8 variables de type (str)"""
df = 'df%s' % z
df = pd.DataFrame(comment, columns=['id', 'inner_id', 'commentaire', 'created_at', 'user', 'username', 'photo_url', 'status', 'peeriodical_user', 'email', 'is_admin', 'rejected'])
"""J'exporte en .csv pour faire le traitement avec R"""
filename = 'data%s.csv' % z
df.to_csv(filename, index=True, encoding='utf-8')
z += 1
time.sleep(0.5) |
Partager