【发布时间】:2020-06-06 17:04:10
【问题描述】:
我想提取描述 Twitter 帐户的文本,但我无法访问,我所做的只是提取关注者的数量,但我不知道如何获取描述的文本Twitter 帐户。
我打印了关注者的数量,但我无法打印描述帐户。
代码:
import requests
from bs4 import BeautifulSoup
USER_AGENT = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
def obtener_resultados(termino_busqueda, numero_resultados, codigo_lenguaje):
url_google = 'https://www.google.com/search?q={}&num={}&hl={}'.format(termino_busqueda, numero_resultados, codigo_lenguaje)
respuesta = requests.get(url_google, headers=USER_AGENT)
respuesta.raise_for_status()
return termino_busqueda, respuesta.text
def procesar_resultados(html, palabra):
soup = BeautifulSoup(html, 'html.parser')
resultados_encontrados = []
bloque = soup.find_all("div", class_="g")
for resultado in bloque:
titulo = resultado.find('h3').string
resultados_encontrados.append(titulo)
return resultados_encontrados
def scrape(termino_busqueda, numero_resultados, codigo_lenguaje):
palabra, html = obtener_resultados(termino_busqueda, numero_resultados, codigo_lenguaje)
resultados = procesar_resultados(html, palabra)
return resultados
if __name__ == '__main__':
palabra = 'Quantika14'
h5 = (palabra, 1, "es")
h6 = (h5[0])
username=h6
url = 'https://www.twitter.com/'+username
r = requests.get(url)
soup = BeautifulSoup(r.content,'html.parser')
f = soup.find('li', class_="ProfileNav-item--followers")
title = f.find('a')['title']
print (title)
g=soup.find_all('title', limit=1)
h = soup.find('data-testid', {'UserDescription': 'textContent'})
title2 =g
print (title2)
title3=h
print(title3)
这就是我在检查器中执行“复制选择器”选项时出现的结果
#react-root > div > div > div > main > div > div > div > div.css-1dbjc4n.r-14lw9ot.r-1tlfku8.r-1ljd8xs.r-13l2t4g.r-1phboty.r-1jgb5lz.r-11wrixw.r-61z16t.r-1ye8kvj.r-13qz1uu.r-184en5c > div > div:nth-child(2) > div > div > div:nth-child(2) > div > div > div:nth-child(1) > div > div:nth-child(3) > div > span
这就是我在复制 outherHTML 检查器中的结果
<span class="css-901oao css-16my406 r-1qd0xha r-ad9z0x r-bcqeeo r-qvutc0">Damos soluciones a través de nuestras aplicaciones y peritajes informáticos. Encontramos a los autores de crímenes usando nuevas tecnologías.</span>
有了这些数据,在 Twitter 页面上,我无法使用 BeautifulSoup 提取描述。
【问题讨论】:
-
您是否考虑过或知道 tweepy,这是 Twitter api 的 python 包装器?这可能就是你想要的。 docs.tweepy.org/en/latest
-
不知道怎么用,所以没用过,建议采纳
-
接受的建议和例子
标签: python python-2.7 web-scraping twitter beautifulsoup