繁体   English   中英

"循环浏览网站并将信息保存到数据框"

[英]Looping through websites and saving information to dataframe

为清楚起见重新提交。

我正在尝试使用 Python 循环浏览网站列表并以数据框的形式从每个站点中提取信息(位置、管理中的 $$$、合作伙伴等)(即每个网站都有自己的数据框)。

但是,当我将代码放入如下所示的for循环中时,它只会从列表中的第一个网站中提取信息。 我的代码中没有收到任何错误,它只是在第一个循环后终止。 我不确定为什么它不进入第二个循环。 我尝试将driver.quit()移动到循环内部和外部,但都没有成功。

下面的代码:

from bs4 import BeautifulSoup
import numpy as np
from time import sleep
from random import randint
from selenium import webdriver
import pandas as pd
import spacy
from spacy import displacy
import requests
import re
import en_core_web_sm
nlp = en_core_web_sm.load()
NER = spacy.load("en_core_web_sm")

final_list = ['https://www.google.com','https://www.bing.com', 'https://www.amazon.com']
pd.set_option("display.max_rows", None, "display.max_columns", None)

df = []

for i in range(0,2):
    driver = webdriver.Chrome("C:/Users/~~~/chromedriver.exe")
    url = final_list[i]
    driver.get(url)  
    sleep(randint(5,15))
    soup = BeautifulSoup(driver.page_source, 'html.parser')
    body=soup.body.text
    body = ' '.join(body.split())
    text3= NER(body)  
    displacy.render(text3,style="ent",jupyter=True)
    doc = NER(body)
    entities = [(e.label_,e.text) for e in doc.ents]  
  
    df[i] = pd.DataFrame(entities, columns=['Entity','Identified'])

driver.quit()

改变:

df[i] = pd.DataFrame(entities, columns=['Entity','Identified'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM