Python 循环URL,应用BeautifulSoup,保存以元组元素命名的文件

Python 循环URL,应用BeautifulSoup,保存以元组元素命名的文件,python,web-scraping,beautifulsoup,tuples,Python,Web Scraping,Beautifulsoup,Tuples,这篇文章有几个问题。谢谢你看 我有一个包含“URL”、“CIK”和“date”列的数据框。这些URL是来自EDGAR网站的10 ks——如果你想知道的话,CIK是每个归档实体的唯一ID。此数据帧的一部分可以作为csv找到 我想循环浏览每个URL,应用BeautifulSoup,并将每个URL保存到一个以CIK和日期命名的唯一文本文件中 到目前为止,我的代码是: import urllib from bs4 import BeautifulSoup import pandas as pd impo

这篇文章有几个问题。谢谢你看

我有一个包含“URL”、“CIK”和“date”列的数据框。这些URL是来自EDGAR网站的10 ks——如果你想知道的话,CIK是每个归档实体的唯一ID。此数据帧的一部分可以作为csv找到

我想循环浏览每个URL,应用BeautifulSoup,并将每个URL保存到一个以CIK和日期命名的唯一文本文件中

到目前为止,我的代码是:

import urllib
from bs4 import BeautifulSoup
import pandas as pd
import numpy
import os

#x is a dataframe including columns 'url', 'cik' and 'date'
#convert x to tuple

subset = x[['url', 'cik', 'date']]
tuples = [tuple(x) for x in subset.values]

os.chdir("C:/10k/Python")

#goal: loop through each URL, run BS,
#write to .txt named with matching CIK and date element

for index, url in enumerate(tuples):

    fp = urllib.request.urlopen(tuples)
    test = fp.read()
    soup = BeautifulSoup(test,"lxml")
    output=soup.get_text()
    file=open("url%s.txt","w",encoding='utf-8')
    file.close()
    file.write(output)
有几个问题:

当我尝试从数据帧写入循环时,出现以下错误:

'Series'对象是可变的,因此不能对其进行散列处理

我相信这里的答案是转换成一个元组,我做到了。这使得它不可改变。但是现在我不知道在编写循环时如何引用元组的不同元素

我尝试的下一步是使用enumerate在元组中循环。对此,我得到以下错误:

AttributeError:“list”对象没有属性“timeout”。

我相信这意味着循环试图读取整个元组,而不是每个元素,但我不确定,也无法在论坛上找到好的答案


最后,我不确定在将每个文件写入.txt时如何引用元组的元素。现在我有url%s,但这只会执行URL1、URL2等操作。

urllib.request.urlopen(元组)
可能应该是
urllib.request.urlopen(url)
我想?元组的索引方式与列表相同!如果您告诉我们这些错误发生在哪一行,也会很有帮助!