Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串从web scraper复制到csv文件_Python_Pandas_Dataframe_Csv_Dictionary - Fatal编程技术网

Python 将字符串从web scraper复制到csv文件

Python 将字符串从web scraper复制到csv文件,python,pandas,dataframe,csv,dictionary,Python,Pandas,Dataframe,Csv,Dictionary,我正在尝试制作一个网络刮板,它可以将二战演讲稿放入CSV文件中。我希望专栏是:演讲、演讲者、年度。我正试图将我从网站上抓取的演讲文本添加到演讲栏下,但它不起作用。我希望这几年是1939-45年,每一年的演讲人都是一样的(因为我在这个网站上只有希特勒的演讲稿),但这是行不通的。我不确定是否首先将这些内容放入字典,然后将其作为数据帧放入CSV,或者是否应该将其直接写入CSV文件 main_sauce = urllib.request.urlopen(main_page).read() main_so

我正在尝试制作一个网络刮板,它可以将二战演讲稿放入CSV文件中。我希望专栏是:演讲、演讲者、年度。我正试图将我从网站上抓取的演讲文本添加到演讲栏下,但它不起作用。我希望这几年是1939-45年,每一年的演讲人都是一样的(因为我在这个网站上只有希特勒的演讲稿),但这是行不通的。我不确定是否首先将这些内容放入字典,然后将其作为数据帧放入CSV,或者是否应该将其直接写入CSV文件

main_sauce = urllib.request.urlopen(main_page).read()
main_soup = bs.BeautifulSoup(main_sauce, 'lxml')
list_html_links =driver.find_elements_by_tag_name('a')
list_links = []
for i in list_html_links:
    list_links.append((i.get_attribute('href')))
driver.quit()
counter = 0
jsin = 0
string_list = np.array([])
mystring = ""
for j in list_links:
    if 26 <= counter < 47:
        if counter not in [29, 31, 33, 34, 35, 37, 38, 39, 43, 45]:
            sauce = urllib.request.urlopen(j).read()
            soup = bs.BeautifulSoup(sauce, 'lxml')
            for a in soup.find_all('a'):
                a.extract()
            for paragraph in soup.body.find_all('p'):
                mystring += paragraph.text
            string_list[jsin] = mystring
            jsin += 1
    mystring = ""
    counter +=1
for speech in string_list:
    speech_dict = {'Speeches': string_list[speech], 
'Speaker': 'Adolf Hitler', 'Year': '1939-45'}
main\u sause=urllib.request.urlopen(主页).read()
主菜汤=bs.BeautifulSoup(主菜酱,'lxml')
list\u html\u links=驱动程序。按标签名称('a')查找元素
列表链接=[]
对于列表中的i\u html\u链接:
list_links.append((i.get_属性('href'))
driver.quit()
计数器=0
jsin=0
string_list=np.array([])
mystring=“”
对于列表_链接中的j:

如果26您可以使用熊猫数据框使事情变得更简单

Import pandas as pd

data_list = []
for speech in string_list:
    speech_dict = {'Speeches': string_list, 
    'Speaker': 'Adolf Hitler', 'Year': '1939-45'}
    data_list.append(speech_dict)
df = pd.DataFrame(data_list)