2017-11-08 7 views
0
import requests 
from bs4 import BeautifulSoup 

url= requests.get('https://angel.co/companies').text 
soup= BeautifulSoup(url, 'lxml') 

for div in soup.find_all("div", class_="name"): 
    print(div.text) 

私は会社の名前を印刷したいが何も印刷しない。アングルリストデータをスクラップ

+0

そのウェブサイトのコンテンツが動的に読み込まれるため、あなたがそれらのAPIで 'post'リクエストを実行しない限り、リクエストはそれを捕らえることができません。そのWebページのコンテンツを取得するには、セレンのようなブラウザシミュレータを選択する必要があります。 – SIM

答えて

0

@Shahinが彼のコメントで述べたように、Webページのコンテンツを取得するためにSeleniumを使用する方がよいでしょう。ロードしたいURLを指定して、ページの下部にスクロール機能を実装します(私は、angel.coにかなり精通していて、検索サイトによっては多数の企業が含まれています)。

from bs4 import BeautifulSoup 
from selenium import webdriver 

link = 'Specify your link here' 
driver.get(link) 

'Enter code here to support scrolling through the webpage' 

soup = BeautifulSoup(driver.page_source, 'html.parser') 
driver.quit() 
0
from selenium import webdriver 
from bs4 import BeautifulSoup 

link = 'https://angel.co/companies?locations[]=393668-New+Delhi,+IN' 

driver = webdriver.Chrome() 
for url in [link.format(i) for i in range(1,6)]: 
    driver.get(url) 
    soup = BeautifulSoup(driver.page_source, 'html.parser') 
    for items in soup.select('.name'): 
     print(name) 
driver.quit() 

このプログラムの実行をが、任意の名前を印刷doesno't:私はセレンのドライバを起動するためにあなたにそれを残します。