scraping - web crawler in python
Web Scraping con Selenium Python (1)
Estoy tratando de raspar web Instagram y Twitter en función de la geolocalización. Puedo ejecutar una búsqueda de consultas pero estoy teniendo problemas para volver a cargar la página web y almacenar los campos en el marco de datos.
Encontré un par de ejemplos para web scraping twitter e Instagram sin claves API. Pero están con respecto a las palabras clave #tag.
Estoy tratando de raspar con respecto a la ubicación geográfica y entre las fechas antiguas. Hasta ahora he llegado tan lejos escribiendo código en python 3.X y todas las últimas versiones de paquetes en anaconda.
''''''
Instagram - Components
"id": "1478232643287060472",
"dimensions": {"height": 1080, "width": 1080},
"owner": {"id": "351633262"},
"thumbnail_src": "https://instagram.fdel1-1.fna.fbcdn.net/t51.2885-15/s640x640/sh0.08/e35/17439262_973184322815940_668652714938335232_n.jpg",
"is_video": false,
"code": "BSDvMHOgw_4",
"date": 1490439084,
"taken-at=213385402"
"display_src": "https://instagram.fdel1-1.fna.fbcdn.net/t51.2885-15/e35/17439262_973184322815940_668652714938335232_n.jpg",
"caption": "Hakuna jambo zuri kama kumpa Mungu shukrani kwa kila jambo.. /ud83d/ude4f/ud83c/udffe/nIts weekend/n#lifeistooshorttobeunhappy/n#Godisgood /n#happysoul /ud83d/ude00",
"comments": {"count": 42},
"likes": {"count": 3813}},
''''''
import selenium
from selenium import webdriver
#from selenium import selenium
from bs4 import BeautifulSoup
import pandas
#geotags = pd.read_csv("geocodes.csv")
#parmalink =
query = geocode%3A35.68501%2C139.7514%2C30km%20since:2016-03-01%20until:2016-03-02&f=tweets
twitterURL = ''https://twitter.com/search?q='' + query
#instaURL = "https://www.instagram.com/explore/locations/213385402/"
browser = webdriver.Firefox()
browser.get(twitterURL)
content = browser.page_source
soup = BeautifulSoup(content)
print (soup)
Para la consulta de búsqueda de Twitter obtengo un error de sintaxis
Para Instagram no recibo ningún error, pero no puedo volver a cargar más publicaciones y escribir nuevamente en el marco de datos csv.
También estoy intentando buscar con latitud y longitud de búsqueda tanto en Twitter como en Instagram.
Tengo una lista de coordenadas geográficas en csv. Puedo usar esa entrada o puedo escribir una consulta para buscar.
Cualquier forma de completar el raspado con la ubicación será apreciada.
Apreciar la ayuda !!
Me las arreglé para hacerlo funcionar usando requests
. Tu código se vería así:
from bs4 import BeautifulSoup
import requests
query = "geocode%3A35.68501%2C139.7514%2C30km%20since:2016-03-01%20until:2016-03-02&f=tweets"
twitter = ''https://twitter.com/search?q='' + query
content = requests.get(twitter)
soup = BeautifulSoup(content.text)
print(soup)
Luego puede usar el objeto de soup
para analizar lo que necesita. Lo mismo debería funcionar para Instagram, si su consulta es correcta.