[PYTHON] Holen Sie sich Suppe auf einer Javascript-fähigen Website

Hinweise, wie man verschiedene Suppen bekommt. Es scheint, dass Sie Selen verwenden müssen, wenn Sie eine Google-Bildsuche oder eine Website haben, auf der Javascript gültig ist.

get_soup.py


#-*- coding:utf-8 -*-

from bs4 import BeautifulSoup

def get_soup_uulib2(url):
  import urllib2
  opener = urllib2.build_opener()
  opener.addheaders = [('User-agent', 'Mozilla/5.0')]
  page = opener.open(url)
  soup = BeautifulSoup(page,"lxml")
  return soup

def get_soup_urequests(url):
  import requests
  s = requests.Session()
  r = s.get(url)
  soup = BeautifulSoup(r.text,"lxml")
  print soup

def get_soup_uselenium(url):
  from selenium import webdriver
  #need chromedriver #https://sites.google.com/a/chromium.org/chromedriver/downloads
  chromedriver = "./chromedriver"
  driver = webdriver.Chrome(chromedriver)
  driver.get(url)
  page_source= driver.page_source
  soup=BeautifulSoup(page_source,"lxml")
  return soup
 
#javascript=enable
print get_soup_uselenium("https://www.google.co.jp/search?q=Katze")
#java=off
#print get_soup_uulib2("https://www.google.co.jp/search?q=Katze")
#print get_soup_uulib2("https://www.google.co.jp/search?q=Katze")


Aufgabe

Es ist mühsam, den Browser einzeln zu starten. Ich suchte bei Google nach "kopflosem Selen" und probierte verschiedene Dinge aus, gab aber auf. Kann mir bitte jemand sagen?

Nachtrag 7/19

Für HEADless (startet den Browser nicht) Setzen Sie einfach "driver = webdriver.PhantomJS ()". Geben Sie mit Brew Install Phantomjs usw. ein.

Recommended Posts

Holen Sie sich Suppe auf einer Javascript-fähigen Website
Holen Sie sich die HTML-Quelle, wenn Javascript mit Curl aktiviert ist