beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]

Posted

技术标签:

【中文标题】beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]【英文标题】:beautifulsoup parse every html files in a folder webscraping [closed] 【发布时间】:2017-10-29 03:45:09 【问题描述】:

我的任务是从目录中读取每个 html 文件。条件是查找每个文件是否包含标签

(1) <strong>OO</strong>  
(2) <strong>QQ</strong>

然后

【问题讨论】:

【参考方案1】:

您的write 函数嵌套在for 循环中,这就是为什么您将多行写入index.txt,只需将write 移出循环并将所有部分文本放入变量@987654325 @像这样:

participants = soup.find(find_participant)
parti_names = ""
for parti in participants.find_next_siblings("p"):
    if parti.find("strong", text=re.compile(r"(Operator)")):
        break
    parti_names += parti.get_text(strip=True)+","
    print parti.get_text(strip=True)

indexFile = open('index.txt', 'a+')
indexFile.write(filename + ', ' + title.get_text(strip=True) + ticker.get_text(strip=True) + ', ' + d_date.get_text(strip=True) + ', ' + parti_names + '\n' )
indexFile.close()

更新:

您可以使用basename 来获取文件名:

from os.path import basename

# you can call it directly with basename
print(basename("C:/Users/.../output/100107-.html"))

输出:

100107-.html

【讨论】:

我还有一个问题,我只想要文件名,但输出给了我路径+文件名。我刚刚更新了代码。

以上是关于beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

解析目录中的 html 文件并使用 BeautifulSoup 删除特定标签

beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]

解析库之beautifulsoup,pyquery

如何使用 python/BeautifulSoup 或类似方法将 kml 文件解析为 csv?

BeautifulSoup基本使用

解析库之beautifulsoup模块