python - 如何更好地自动化需要多个程序和 URL 的程序
问题描述
我正在尝试从名为 82games.com 的网站收集一些特定数据。我目前有一个使用 beautifulsoup、awk 和 sed 的解决方案,但这并不理想。对于初学者,我希望能够遍历多个 html 页面——并在所有页面上迭代地运行我的程序,而不是重做该过程,例如。为每个页面输入一个新的 url 和一个新的 destination.txt 文件。
Python、BS4、awk、sed。
import requests
import re
from bs4 import BeautifulSoup
def function():
page = requests.get('http://www.82games.com/1819/18ATL16.HTM#bypos')
soup = BeautifulSoup(page.text, 'html.parser')
cleantext = BeautifulSoup(page.text, "html.parser").text
text = str(soup)
print(type(text))
print(str(cleantext))
ans = remove(text)
return ans
def remove(string):
return "".join(string.split())
if __name__ == '__main__':
function()
驱动程序代码(在 bash 中)
python nba_stats.py | awk NF > JohnCollinsAH2.txt
sed -i '1,/Production By Postion/d' JohnCollinsAH2.txt
解决方案
看看Scrapy。它是一个网络蜘蛛引擎,可让您跟踪链接并输出结构化数据。它与 BeautifulSoup 集成,因此您将能够保留解析逻辑。
推荐阅读
- typescript - RxJS 类型与 Typescript 不兼容
- firebase - 组件视图不使用 React Navigation 呈现
- mysql - MySQL,group by 不尊重 order by
- macos - 无法将转储文件导入 Oracle18c(docker/macOS)
- c# - 为什么 Parallel ForEach 有效,但创建多个任务却没有?
- python - 使用pyttsx的python文本到语音不在客户端播放声音
- r - 如何防止 shinyapps.io 缓存?
- google-apps-script - 使用 Google 脚本在 Google 表单上的块中随机播放项目
- xlwings - 将文本分配给轴标题(xlwings)
- javascript - 更新一,不存在则插入,仅在条件为真时修改 MongoDB