python - 如何将我的网页抓取结果保存到美丽汤中的文本文件中?
问题描述
我试图为一些网络抓取编写此代码。代码运行良好,但我仍然无法弄清楚如何将网络抓取的结果保存到 .txt 文件中?我想将“print(div.text)”输出的结果写入 .txt 文件。
import bs4 as bs
import urllib.request
for pg in range(1, 100 + 1):
source = urllib.request.urlopen('https://dsalsrv04.uchicago.edu/cgi-bin/app/hayyim_query.py?page='+ str(pg)).read()
soup = bs.BeautifulSoup(source,'lxml')
for div in soup.find_all('div', class_='hw_result'):
print(div.text)
解决方案
也许,与f.open
,f.write
和f.close
:
import bs4 as bs
import urllib.request
import re
output = ''
for pg in range(1, 100 + 1):
source = urllib.request.urlopen('https://dsalsrv04.uchicago.edu/cgi-bin/app/hayyim_query.py?page='+ str(pg)).read()
soup = bs.BeautifulSoup(source,'lxml')
for div in soup.find_all('div', class_='hw_result'):
output += div.text
output = re.sub(r"[\r\n]+", "", output)
f = open('/any/directory_you_like/any_name_that_you_like_with_any_extension.txt', 'w')
try:
f.write(output)
finally:
f.close()
推荐阅读
- python - 如何在同一类中使用来自不同方法的变量而不将其作为参数?
- python - Python:使用用户输入。我下面的代码只能从字符串中删除一个字符。我需要它能够剥离多个字符
- react-native - 如何在 react-native 中获取用户位置
- node.js - Windows gcc 编译器上的 MinGW 为 nodejs (ffi-napi) 创建 64 位 DLL
- python - 将数据框转换为配置文件
- lambda - Netlify lambda 函数查询字符串参数在本地环境和生产环境之间以不同的方式传递
- elasticsearch - winlogbeat如何删除大部分日志,只留下部分消息
- php - codeigniter中的Bcrypt散列
- reactjs - 我需要帮助 github 和 intelij 的想法
- javascript - 当我在项目中包含 express-handlebar 时,应用程序在 heroku 上崩溃,但在本地工作