Я пытаюсь почистить данные из профиля Google scholar, скажем, этот сайт
Проходя по сайту.Я хочу очистить имена всех соавторов, которые есть в теге div
с классом gsc_vcd_value
, но я не могу сделать это напрямую, поэтому я попытался перейти в последовательности.моя точная проблема в том, что до тега div
с идентификатором gs_md_cita-d-bdy
я могу очистить все, т. е. (все дочерние теги), содержащиеся в конкретном теге. Но потом, когда я пытаюсь сделать то же самое для div
тег с идентификатором gs_md_cita-l
, я получаю только сам тег в ответ. Я не получаю дочерние теги взамен, я получаю только сам тег. Пожалуйста, подскажите, что мне не хватает?
когда я пытаюсь напечатать r_tag, я получаю
<div class="gs_md_bdy" id="gs_md_cita-d-bdy"><style>#gs_md_cita-
d{width:90%;max-width:1000px;}.gs_el_ph #gs_md_cita-d{width:100%;max-
width:none;}#gs_md_cita-d .gs_md_prg{min-height:600px;}#gs_md_cita-
title,#gs_md_cita-b-edit,#gs_md_cita-b-trash,#gs_md_cita-
b-upload,#gs_md_cita-b-rstr,#gs_md_cita-b-delf,#gs_md_cita-
b-save{display:none;}.gs_md_cita-view #gs_md_cita-b-edit,.gs_md_cita- view
#gs_md_cita-b-trash,.gs_md_cita-view.gs_md_cita-allow_upload #gs_md_cita- b-upload,.gs_md_cita-upload #gs_md_cita-title,.gs_md_cita-trash #gs_md_cita-
b-rstr,.gs_md_cita-trash #gs_md_cita-b-delf,.gs_md_cita-edit #gs_md_cita-
b-save{display:inline-block;}#gs_md_cita-b-trash,#gs_md_cita-
b-upload,#gs_md_cita-b-delf{margin-left:16px;}</style><div aria-
live="assertive" id="gs_md_cita-l"></div></div>...
и так далее, поэтому в основном все в теге, как дочерние теги и все, но когда я пытаюсь напечатать s_tag, я получаю только
[<div aria-live="assertive" id="gs_md_cita-l"></div>]
[<div aria-live="assertive" id="gs_md_cita-l"></div>]
[<div aria-live="assertive" id="gs_md_cita-l"></div>]
только значение тега для каждой итерации.
import bs4
import urllib
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
import urllib.request
class Scraper():
def __init__(self, url, maxP):
self.url= url
self.maxP = maxP
def f(self):
for i in range(0,1000,100):
if (self.maxP<i):
pageSize=i
for j in range(0, pageSize, 100):
S_url=self.url + "&cstart=" + str(j) +"&pagesize=100"
my_url = uReq(S_url)
page_html = my_url.read()
my_url.close()
page_soup = soup(page_html, "lxml")
aTag = page_soup.findAll('td', {'class': 'gsc_rsb_std'})
Titles = page_soup.findAll('td', {'class': 'gsc_a_t'})
Citations = page_soup.findAll('td', {'class': 'gsc_a_c'})
Years = page_soup.findAll('td', {'class': 'gsc_a_y'})
info_page = page_soup.findAll('a', {'class' : 'gsc_a_at'})
for author in info_page:
Author_names_link = author["data-href"]
user=Author_names_link[53:65]
n_input=Author_names_link[-12:]
n_author_url="https://scholar.google.com.au
/citations?user="+user+"&hl=en#d=gs_md_cita-
d&u=%2Fcitations%3Fview_op%3Dview_citation%26hl%3Den%26user%3D"+user+"%26cit
ation_for_view%3D"+user+"%3A"+n_input+"%26tzom%3D-330"
author_url=uReq(n_author_url)
n_page=author_url.read()
author_url.close()
n_page_soup=soup(n_page, "html.parser")
n_tag=n_page_soup
m_tag=n_tag.findAll('div', {'id': 'gs_top'})
for i in m_tag:
p_tag=i.findAll('div', {'data-h': '800'})
for j in p_tag:
q_tag=j.findAll('div', {'id': 'gs_md_cita-d'})
for k in q_tag:
r_tag=k.findAll('div', {'id': 'gs_md_cita- d-bdy'})
for l in r_tag:
s_tag=l.findAll('div', {'id': 'gs_md_cita-l'})